Commit Graph
106 Commits
Author SHA1 Message Date
Mohamed BoudraandClaude 6f4d47848c fix: use absolute positioning for hidden AgentInputArea to prevent layout space
AgentInputArea was still taking up 88px height when opacity was 0, creating
a gap between status bar and realtime controls. Now switches to position
absolute when hidden (opacity < 0.5) to remove from layout flow completely.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 11:25:12 +02:00
Mohamed BoudraandClaude 465aa1cd78 fix: smooth transition between text and realtime controls with coordinated animations
- Keep AgentInputArea always mounted, animate opacity (0→1 / 1→0) instead of unmounting
- Use controlled opacity animation for GlobalFooter's RealtimeControls on agent screen
- Both controls fade in/out over 250ms, synchronized for smooth cross-fade
- Disable pointer events on hidden controls to prevent interaction issues
- Keep FadeIn/FadeOut behavior on non-agent screens (home, orchestrator) unchanged

This eliminates the layout "push" effect where GlobalFooter would take up space
while fading in, causing visible jank. Now both controls overlay and cross-fade
smoothly without affecting layout.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 11:23:37 +02:00
Mohamed BoudraandClaude 9299bb5d4c refactor: restore agent status bar and clean up input area layout
- Add AgentStatusBar back to agent screen layout above controls
- Remove duplicate mode badge from AgentInputArea (now only in status bar)
- Simplify AgentInputArea to horizontal layout matching RealtimeControls
- Set both controls to height: 88 for consistent sizing
- Remove conditional rendering that caused component to unmount

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 11:19:19 +02:00
Mohamed BoudraandClaude 74fffcd8a3 refactor: optimize audio initialization and fix agent interactions
- Lazy initialize audio (on-demand instead of mount) in both player and Speechmatics hooks
- Add audio session teardown on stop for proper cleanup
- Implement agent audio recording with sendAgentAudio in AgentInputArea
- Fix Android navigation race condition in CreateAgentModal (navigate before closing)
- Add animations to global footer and agent screen (FadeIn/FadeOut)
- Auto-cancel stuck agents when sending new messages
- Fix permission request ID propagation from AgentManager to Session
- Apply theme background color via AppContainer wrapper

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-23 13:15:18 +02:00
Mohamed Boudra 10189514dd ```
refactor: centralize global footer and simplify agent screen input handling
```
2025-10-23 12:35:28 +02:00
Mohamed Boudra 8177aa0c2a feat: add home screen with agent list and orchestrator navigation 2025-10-23 11:11:20 +02:00