Commit Graph
102 Commits
Author SHA1 Message Date
Mohamed BoudraandClaude Opus 4.6 f1e85898a2 fix: apply biome formatting to terminal-perf.ts
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 08:31:26 +00:00
Mohamed BoudraandClaude Opus 4.6 4c867d0e9e fix(e2e): wait for open-intent redirect before interacting with terminal surface
The navigateToTerminal helper was racing the workspace layout's ?open= redirect,
which returns null during the useEffect cycle. Now waits for the clean workspace
URL before looking for the terminal tab, and removes the fallback that created
a different terminal via the "New terminal tab" button.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 08:12:51 +00:00
Mohamed BoudraandClaude Opus 4.6 045e1d4deb fix(e2e): correct terminal tab testid and navigation URL in Playwright helper
navigateToTerminal() used the bare workspace route instead of the URL
with ?open=terminal:<id> intent, and looked for testid
"workspace-tab-terminal:<id>" (colon) when the real tab key is
"terminal_<id>" (underscore). Both bugs prevented the terminal surface
from ever appearing, causing terminal-performance tests to timeout.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 07:38:37 +00:00
Mohamed BoudraandClaude Opus 4.6 3fa43c865d app: fix Playwright E2E WebSocket errors on Node 20 + fix format
E2E helpers used DaemonClient without a webSocketFactory, which relies
on globalThis.WebSocket — unavailable in Node 20 (CI). Add a shared
node-ws-factory helper using the ws package (matching the CLI pattern)
and inject it in all three E2E connection helpers. Also fix a biome
formatting issue in the cli provider test.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 03:08:10 +00:00
Mohamed BoudraandClaude Opus 4.6 b0e446fee8 app: fix Playwright e2e helpers using import.meta.url in CJS context
Revert dynamic import path resolution from `new URL(..., import.meta.url)`
to `path.resolve(__dirname, ...)` + `pathToFileURL(...)` in three e2e
helpers. Playwright's TS loader emits CommonJS, where import.meta.url
is undefined, causing "exports is not defined in ES module scope" and
blocking all e2e test discovery.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-11 00:46:46 +00:00
Mohamed BoudraandClaude Opus 4.6 13de7d197b style: autoformat with biome to fix 195 formatting errors
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 19:49:33 +00:00
Mohamed Boudra e73747f87d app: fix e2e helper server path 2026-04-10 18:46:39 +00:00
Mohamed Boudra ee50d3b8d0 WIP: fix archive tab reconciliation (#158)
* WIP: fix archive tab reconciliation

* fix: converge archive into AgentManager for cross-session propagation

CLI archive left agent tabs visible in passive app clients because
Session.archiveAgentState only notified the archiving session's own
subscription. LoopService had the same gap via AgentManager.archiveAgent.

Converge on AgentManager.archiveAgent as the single canonical archive
path: persist updatedAt, call notifyAgentState before closeAgent so all
sessions receive the archived snapshot. Delete Session.archiveAgentState
and make handleArchiveAgentRequest a thin wrapper.
2026-03-31 16:03:36 +07:00
Mohamed Boudra d8e9298222 Add metrics collection and terminal performance tests 2026-03-26 23:38:32 +07:00
Mohamed Boudra f6579dbeb4 Switch to double quotes and reformat codebase with Biome 2026-03-21 20:22:15 +07:00
Mohamed Boudra 48c3308c31 refactor: move workspace tab navigation logic to prepareWorkspaceTab 2026-03-21 15:21:02 +07:00
Mohamed Boudra 0b88383b01 chore: remove stale e2e specs and fix-tests scripts
Delete all 34 Playwright e2e specs — they test against an outdated UI
and will be rewritten from scratch with a clean DSL-based approach.
Remove scripts/fix-tests/ overnight loop infrastructure.
2026-03-15 10:45:36 +07:00
Mohamed Boudra e526f375c8 Merge branch 'fix-tests-suite-loop'
# Conflicts:
#	package-lock.json
#	packages/server/src/server/speech/speech-config-resolver.ts
#	packages/server/src/shared/tool-call-display.ts
2026-03-14 22:06:42 +07:00
Mohamed Boudra fc7369384b feat(voice): implement turn-detection and real-time audio streaming 2026-03-14 13:46:10 +07:00
Mohamed Boudra 12f8c0db96 fix(tests): iteration 7 2026-03-13 13:44:25 +07:00
Mohamed Boudra 049edbfcaf fix(e2e): parametrize reply line count and improve scroll behavior 2026-03-13 13:43:34 +07:00
Mohamed Boudra 7c18616160 fix(tests): iteration 20 2026-03-13 13:43:34 +07:00
Mohamed Boudra 70191ceaa8 fix(tests): iteration 19 2026-03-13 13:43:34 +07:00
Mohamed Boudra 99bac0fd27 fix(tests): iteration 18 2026-03-13 13:43:34 +07:00
Mohamed Boudra e8b55eccab fix(tests): iteration 16 2026-03-13 13:43:34 +07:00
Mohamed Boudra 40ebd1b730 fix(tests): iteration 15 2026-03-13 13:43:34 +07:00
Mohamed Boudra f3036ad2c9 fix(tests): iteration 13 2026-03-13 13:42:51 +07:00
Mohamed Boudra 4a01b9ec90 fix(tests): iteration 12 2026-03-13 13:42:51 +07:00
Mohamed Boudra 2f13806a2c fix(tests): iteration 11 2026-03-13 13:42:51 +07:00
Mohamed Boudra be93f8b240 refactor: remove performance monitoring and diagnostics infrastructure 2026-03-12 21:15:01 +07:00
Mohamed Boudra b339c5e61d Fix bottom anchoring and Claude wake routing 2026-03-08 12:54:08 +07:00
Mohamed Boudra 1d1c7058f1 feat: add agent delete command and bulk tab close operations 2026-03-07 12:32:49 +07:00
Mohamed Boudra a99edcc0b2 feat(app): auto-focus terminal on create/switch, stabilize sidebar ordering for new items 2026-03-06 23:19:12 +07:00
Mohamed Boudra d512932233 refactor: extract workspace terminal sessions, improve sidebar drag-and-drop with nestable lists, and consolidate tab presentation logic 2026-03-06 22:23:35 +07:00
Mohamed Boudra 304d42d969 Merge branch 'draft-status-controls-refactor' 2026-03-06 16:25:11 +07:00
Mohamed Boudra 74c99a827d Fix workspace tab focus from route open intent 2026-03-06 16:18:19 +07:00
Mohamed Boudra 5b270444d5 refactor: replace store-based keyboard action requests with direct dispatcher and simplify agent attention clearing 2026-03-06 14:49:06 +07:00
Mohamed Boudra 885b575d14 refactor app draft status controls into input area 2026-03-05 15:07:56 +07:00
Mohamed Boudra 8371ea0c7d refactor: unify workspace tab management and add runtime metrics 2026-03-05 14:21:16 +07:00
Mohamed Boudra 6dc49ccbc7 feat: add workspace and tab navigation keyboard shortcuts 2026-03-05 11:28:02 +07:00
Mohamed Boudra bdfed2db4b app: add testIDs to workspace header and use them in e2e assertions 2026-03-05 09:58:02 +07:00
Mohamed Boudra 21b9743c61 app: use replace for sidebar workspace switches 2026-03-04 22:56:21 +07:00
Mohamed Boudra 223c8d7d0b feat: sortable workspace tabs, tab context menus, and terminal auto-create removal
- Add drag-and-drop tab reordering with persistent tab order
- Add right-click context menu with copy agent ID, copy resume command, close to right
- Switch workspace route encoding from percent-encoding to base64url
- Remove terminal auto-creation on directory listing (explicit create only)
- Add swipe gestures on terminal emulator for mobile sidebar navigation
- Highlight active workspace row in sidebar
2026-03-02 15:59:13 +07:00
Mohamed Boudra c8cef9bec8 Restore workspace header controls and polish tab management 2026-03-02 12:23:04 +07:00
Mohamed Boudra cdf59e8315 Restore workspace header controls and terminal tab close 2026-03-01 22:56:19 +07:00
Mohamed Boudra c0420ac1f9 Fix mobile terminal tab routing and remount restoration 2026-02-25 20:05:23 +07:00
Mohamed Boudra c4523c70b5 chore: commit all local changes 2026-02-25 13:53:23 +07:00
Mohamed Boudra a060ae1256 test: harden daemon lifecycle and e2e reliability across app/cli/server 2026-02-25 10:21:46 +07:00
Mohamed Boudra 0350f00840 feat: implement daemon connectivity updates and relay protocol versioning 2026-02-20 19:27:56 +07:00
Mohamed Boudra 52044e2a7d Merge remote-tracking branch 'origin/main' into pr60-sync
# Conflicts:
#	packages/app/src/components/message-input.tsx
2026-02-18 18:25:30 +07:00
Mohamed Boudra 69e009990c feat(app): support pasting images into prompt attachments 2026-02-18 17:55:13 +07:00
Mohamed Boudra e36d318001 Improve post-ship worktree UX and merged PR detection 2026-02-18 13:12:36 +07:00
Mohamed Boudra 4305a37ec3 Enable explorer sidebar on draft screen after cwd selection (#54)
* fix: simplify tmux session creation in paseo.json

* feat(app): enable draft explorer sidebar from working directory

* chore: align paseo config with main
2026-02-18 12:27:19 +07:00
Mohamed Boudra 483966a05b fix(app): confirm terminal close for running shell commands (#52) 2026-02-18 11:13:48 +07:00
Mohamed Boudra 34e35621f0 simplify speech bootstrap and clean daemon startup locking 2026-02-17 12:16:02 +07:00