Commit Graph

43 Commits

Author SHA1 Message Date
Mohamed Boudra
4d28499482 Merge origin/main into local-streaming-speech-tts 2026-02-06 13:45:31 +07:00
Mohamed Boudra
cf9ff07be6 Git panel: share checkout actions + fix push loading (#20)
* Update files

* Git panel: share checkout actions

Hoist checkout-scoped async git actions into a shared store and keep primary Push CTA loading in-place. Also stabilize e2e git flows.

* Stabilize git panel async actions and fix e2e flakes
2026-02-06 13:18:30 +07:00
Mohamed Boudra
d791f79efe Local streaming STT/TTS with Parakeet + Pocket TTS
- Add provider-agnostic streaming speech interfaces
- Local STT via Sherpa (Zipformer/Paraformer) + Parakeet v3 (offline)
- Local TTS via Pocket TTS ONNX (onnxruntime-node) with chunked streaming
- Auto-download models into PASEO_HOME and add Node download script
- Add E2E download test that round-trips TTS->STT
2026-02-06 10:38:38 +07:00
Mohamed Boudra
a2eab7b00b feat(app): add header tooltips + shortcuts (#16) 2026-02-05 22:40:29 +07:00
Mohamed Boudra
8dcf86a33f app e2e: assert relay pill and stability 2026-02-05 21:39:57 +07:00
Mohamed Boudra
574bdc16f6 simplify: remove ws bridge; wrangler-based relay tests 2026-02-05 10:45:51 +07:00
Mohamed Boudra
0218729316 Relay pairing offer v2 (E2EE) + host connections 2026-02-04 22:53:00 +07:00
Mohamed Boudra
1039171167 Merge origin/main into daemon-server-id-host-selection 2026-02-04 15:19:06 +07:00
Mohamed Boudra
6aff4b3f10 Merge branch 'plan/e2ee' - End-to-end encryption for relay connections
Implements E2EE for relay connections only, keeping direct connections
and CLI plaintext. The relay acts as a dumb byte forwarder with no
access to decrypted messages.

Key changes:
- Daemon keypair persistence in $PASEO_HOME/daemon-keypair.json
- Encrypted relay transport using ECDH P-256 + AES-256-GCM
- Client-side E2EE using daemon's public key from pairing offer
- WebCrypto compatibility for React Native
2026-02-04 15:00:34 +07:00
Mohamed Boudra
8152deb206 Update files 2026-02-04 14:58:18 +07:00
Mohamed Boudra
dcf015bd92 Update files 2026-02-04 10:12:08 +07:00
Mohamed Boudra
6ed70e24c7 feat: implement end-to-end encryption for relay connections 2026-02-03 13:40:44 +07:00
Mohamed Boudra
085c00dd87 Fix remaining E2E test failures
- Fixed permission-prompt deny test to expect 1 tool call badge instead of 2
- Added timing fix to agent-details-sheet test to wait for agent response

This brings the E2E test suite to 20/21 passing tests. Only the checkout-ship
test remains failing due to complex UI interaction issues with worktree selection.

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
2026-02-02 14:39:38 +07:00
Mohamed Boudra
54ee84fe72 Fix Playwright E2E tests
Fixed 8 failing E2E tests by addressing UI changes and timing issues:
- Updated delete-agent-persists test to use 'archive' button instead of 'delete'
- Fixed dictation-web test to use correct element selector (sidebar-new-agent)
- Updated URL regex patterns to handle trailing slash variations
- Fixed capitalization issues ('New agent' vs 'New Agent', '+ Add host' vs '+ Add Host')
- Updated permission-prompt allow test to verify file content instead of tool call count

Tests fixed:
- delete-agent-persists.spec.ts
- dictation-web.spec.ts
- host-selection.spec.ts (both tests)
- manual-host-port.spec.ts
- pairing-offer-parsing.spec.ts
- permission-prompt.spec.ts (allow test)

Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
2026-02-02 14:32:14 +07:00
Mohamed Boudra
ba64b955ec Merge branch 'plan/structured-agent-self-id' 2026-02-02 14:15:55 +07:00
Mohamed Boudra
d45b9723d9 test: remove .paseo prefix from path expectations in E2E tests 2026-02-02 14:15:53 +07:00
Mohamed Boudra
5a42414525 fix: improve E2E test reliability and fix openSettings helper
- Fixed openSettings helper to navigate directly to /settings page instead of clicking UI elements
- Updated permission prompt tests to expect 2 tool call badges in Always Ask mode
- Added timeout handling for permission denial scenarios
- Increased timeout for file creation verification in permission tests
- Fixed waitForAgentFinishUI to handle agent states after permission denial

These changes improved test pass rate from 11/21 to 13/21 tests passing.
2026-02-02 14:08:00 +07:00
Mohamed Boudra
a0214645eb Merge branch 'main' into plan/structured-agent-self-id 2026-02-02 13:48:46 +07:00
Mohamed Boudra
3e98900929 Update files 2026-02-02 13:44:51 +07:00
Mohamed Boudra
3aecead839 refactor: replace agent self-ID MCP with structured metadata generation 2026-02-02 13:07:04 +07:00
Mohamed Boudra
25c7d5afa9 refactor: consolidate agent wait methods and use in-memory MCP transport 2026-01-30 14:50:01 +07:00
Mohamed Boudra
aa979f5230 Add toast provider, agent details sheet, and remote-based grouping 2026-01-25 09:41:17 +07:00
Mohamed Boudra
084177da16 Persist agent deletion and support subdir worktree cleanup 2026-01-24 23:34:09 +07:00
Mohamed Boudra
c71134c78e Merge branch 'fix/e2e-home-routing' 2026-01-24 21:25:22 +07:00
Mohamed Boudra
8fe30eae75 feat(checkout): add merge-from-base and push operations for worktree branches 2026-01-24 21:24:48 +07:00
Mohamed Boudra
dc4839e2c0 Fix agent routing and E2E create flow 2026-01-24 20:20:56 +07:00
Mohamed Boudra
6ecf88b502 refactor agent route for draft→chat transition 2026-01-24 19:18:07 +07:00
Mohamed Boudra
9b82c02fd2 Add welcome onboarding and remove default localhost host 2026-01-24 17:01:12 +07:00
Mohamed Boudra
b919a3cdd9 Revamp Changes pane view + ship menus and stabilize e2e selectors 2026-01-24 08:52:31 +07:00
Mohamed Boudra
2b55d3ae6a Add Changes overflow menu and primary action toolbar 2026-01-23 22:59:31 +07:00
Mohamed Boudra
eab8713c24 Persist base branch for Paseo worktrees and gate merge action 2026-01-23 15:27:42 +07:00
Mohamed Boudra
0852f4e6d0 Update files 2026-01-23 15:10:36 +07:00
Mohamed Boudra
53155ebcc9 feat(app): checkout diff pane styling and e2e test support
- Style diff file cards edge-to-edge with single divider between files
- Remove monospace font from filenames for better readability
- Add checkout-ship e2e test for app
- Export Page type from e2e fixtures
- Add checkout query hooks for diff, status, and PR status
2026-01-23 08:37:15 +07:00
Mohamed Boudra
7157a43a74 feat(pairing): QR offer + app scanner 2026-01-22 09:24:08 +07:00
Mohamed Boudra
ca8d09434b fix(app): improve host removal flow 2026-01-22 08:52:30 +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
facd99ab13 Fix dictation lifecycle and add real STT e2e 2026-01-20 13:09:22 +07:00
Mohamed Boudra
687ea706b1 test(app): add E2E tests and improve form state with test coverage 2026-01-20 12:12:29 +07:00
Mohamed Boudra
d964415eba feat(server): improve task CLI with steering, execution order, and planner guidance
- Fix steering notes to check scope task instead of leaf task
- Fix NOT_DONE replan to use scope for bird's eye view
- Pass reason to planner prompt ("Why you were called" section)
- Add execution-order.ts with reusable computeExecutionOrder and buildSortedChildrenMap
- Make 'tree' an alias for 'plan' command
- Add comprehensive help text for run command and acceptance criteria
- Add planner guidance for propagating requirements to subtasks
2026-01-17 11:46:38 +07:00
Mohamed Boudra
420f25f1e9 feat: add download toast, e2e permission tests, and update favicons
- Add download toast component with progress indicator and auto-dismiss
- Add download store for managing file download state
- Add e2e tests for permission prompts (allow/deny flows)
- Add global setup for e2e tests with isolated daemon instance
- Update favicon assets with new design
- Refactor agent-stream-view to use shared tool-call-details component
- Simplify file-explorer-pane component
- Clean up unused screenshots and PRODUCTION.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-01-16 20:23:07 +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
868f9fb571 WIP: Large refactor checkpoint
- Refactored daemon client and RPC layer
- Added new client package structure in server
- Removed legacy hooks (use-daemon-request, use-session-rpc, use-websocket)
- Added use-daemon-client hook
- Added e2e test infrastructure with Playwright
- Updated agent providers and session handling
- Removed codex-sdk patches
2026-01-12 13:30:20 +07:00