Commit Graph
26 Commits
Author SHA1 Message Date
Mohamed Boudra c615d422ca Update files 2026-01-27 13:48:04 +07:00
Mohamed Boudra c233c99cd3 Update files 2026-01-26 18:03:51 +07:00
Mohamed Boudra 6095bf975b Update files 2026-01-26 14:30:41 +07:00
Mohamed Boudra be235e14d7 Update files 2026-01-25 20:40:00 +07:00
Mohamed Boudra 9d0dd8b19e Update files 2026-01-25 08:42:00 +07:00
Mohamed Boudra dc4839e2c0 Fix agent routing and E2E create flow 2026-01-24 20:20:56 +07:00
Mohamed Boudra 3e2d403f1b fix agent create: keep draft view until agent ready 2026-01-24 19:29:56 +07:00
Mohamed Boudra 6ecf88b502 refactor agent route for draft→chat transition 2026-01-24 19:18:07 +07:00
Mohamed Boudra ddbcc272f1 feat: migrate from wsUrl to endpoints + add relay transport and pairing 2026-01-21 14:55:23 +07:00
Mohamed Boudra 513138ac13 Fix e2e daemon isolation and fast model defaults 2026-01-20 13:36:06 +07:00
Mohamed Boudra d9c487dd54 feat: add Tauri desktop app support and terminal management 2026-01-20 10:09:35 +07:00
Mohamed Boudra ed50c168ad refactor(app): unified panel state machine for mobile sidebars
Replace separate sidebar stores with a unified panel store that uses a
discriminated union state machine on mobile. This makes it impossible
for both the agent list and file explorer sidebars to be open at the
same time on mobile.

Mobile state machine (mobileView):
- 'agent': Main agent view (no overlay panel)
- 'agent-list': Agent list sidebar (left overlay)
- 'file-explorer': File explorer sidebar (right overlay)

Desktop retains independent boolean toggles since sidebars sit
alongside content rather than overlaying it.

Key changes:
- Created stores/panel-store.ts with unified state
- Deleted stores/sidebar-store.ts and explorer-sidebar-store.ts
- Updated all components to use new panel store
- Animation contexts derive isOpen from unified state
2026-01-16 16:19:49 +07:00
Mohamed Boudra 70e2d66dd5 feat: persist draft messages and UI refinements
- Add dedicated draft-store with AsyncStorage persistence for drafts
  that survive app refresh/crash
- Reduce markdown bold weight from bold to medium (500)
- Various theme and component style updates
- Server bootstrap and config improvements

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-01-14 10:07:54 +07:00
Mohamed Boudra 42129926ae feat(app): add maestro tests, download progress, and task hierarchy
Add Maestro E2E test flows for app launch and sidebar interactions. Implement download progress tracking with speed/ETA display in file explorer. Extend task CLI with parent-child hierarchy, body content from stdin, and ancestor context in task show. Fix explorer sidebar gesture to allow horizontal scrolling while preserving close swipe. Replace hardcoded monospace font with Fonts.mono constant. Fix RefreshControl to only show spinner on manual pull-to-refresh.
2026-01-10 22:44:57 +07:00
Mohamed BoudraandClaude Opus 4.5 ecd9ddb4a2 feat(sidebar): add "View More" button and all agents screen
- Make AgentList a pure display component (remove sorting/slicing logic)
- Add listFooterComponent prop to AgentList for extensibility
- Add SIDEBAR_AGENT_LIMIT (15) in sidebar, show "View More" when exceeded
- Create /agents screen showing full sorted agent list
- Update settings page styling

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 00:14:27 +07:00
Mohamed BoudraandClaude Opus 4.5 edb3258ae9 feat(sidebar): add interactive drag-to-open gesture
Sidebar now follows the finger during swipe-to-open gesture from anywhere
on the screen. Uses shared animation context between AppContainer and
SlidingSidebar for synchronized translateX values.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 12:46:53 +07:00
Mohamed BoudraandClaude Opus 4.5 3033685aab fix(sidebar): allow vertical scrolling in mobile agent list
Changed from Gesture.Simultaneous() to Gesture.Race() so that vertical
scroll and horizontal swipe-to-close are mutually exclusive based on
initial movement direction.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 10:51:53 +07:00
Mohamed BoudraandClaude Opus 4.5 c5dddeb2e0 style(sidebar): use darker border color on New Agent hover
Changed from white to zinc[500] for a subtler effect.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 10:45:58 +07:00
Mohamed BoudraandClaude Opus 4.5 e121a90a58 style(sidebar): add smooth transition to New Agent button hover
150ms transition for border-color and background-color.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 10:42:54 +07:00
Mohamed BoudraandClaude Opus 4.5 330a75a445 style(sidebar): add hover effect to New Agent button
On hover: white border and light muted background.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 10:31:12 +07:00
Mohamed BoudraandClaude Opus 4.5 74ed95cc08 style(sidebar): use white text for New Agent button
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 10:29:04 +07:00
Mohamed BoudraandClaude Opus 4.5 2a44b08d4b style(sidebar): change New Agent button to outline style
Make the button less prominent since it's not frequently used once
you're actively coding with an agent. Changed from filled primary
to outline with muted colors.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 10:21:26 +07:00
Mohamed BoudraandClaude Opus 4.5 dbf9b7e75d feat(sidebar): restructure layout and fix agent selection highlighting
- Move New Agent button to top header, Settings button to bottom footer
- Settings screen now uses MenuHeader for consistent hamburger menu
- Remove default background from agent list items (only show on hover/selected)
- Fix selected agent highlighting by parsing serverId:agentId from pathname
  instead of using useLocalSearchParams (which doesn't update on same-pattern route navigation)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 10:06:23 +07:00
Mohamed BoudraandClaude Opus 4.5 7b55740a9e fix(sidebar): use fast fade instead of slide when navigating
Slide animation freezes halfway when navigation starts. Now uses
instant snap + 100ms backdrop fade for agent selection. Gestures
still use the slide animation.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 21:55:40 +07:00
Mohamed BoudraandClaude Opus 4.5 75895b17d4 fix(sidebar): eliminate tap delay by triggering animation directly
The animation was waiting ~32ms for React's useEffect cycle before
starting. Now handleAgentSelectMobile triggers the close animation
immediately using withTiming on shared values, bypassing useEffect.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 21:52:17 +07:00
Mohamed BoudraandClaude Opus 4.5 020d244b26 feat(app): add sliding sidebar navigation for mobile
- Homepage now shows "New Agent" form, agent list moves to sidebar
- Hamburger menu replaces back arrow on all screens
- Mobile: full-screen sidebar overlay with swipe-to-close gesture
- Desktop: fixed 320px sidebar, toggle via hamburger
- Smooth bezier-eased animations (220ms)
- Sidebar closes on agent select (mobile only)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 21:16:27 +07:00