- Stream partial transcripts to the client during dictation for live feedback
- Use OpenAI semantic VAD instead of manual commit intervals for better word boundaries
- Append silence tail on finish to flush final utterance through VAD
- Skip committing silence-only audio tails
- Reset hosts to env-defined daemon when env var is present, overriding stored state
- Add scripts/dev.sh that finds available ports for daemon (6767+) and Metro (8081+)
- Runs both services via concurrently with colored output
- Sets PASEO_CORS_ORIGINS dynamically for the Metro port
- Sets EXPO_PUBLIC_DAEMONS to auto-configure app with daemon endpoint
- Add get-port-cli and concurrently as dev dependencies
- Rename npm run dev to use the script, add dev:server for daemon-only
- 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
- Made the timing clearer: "Immediately after your first message where
you understand the task and decide to do multi-step work"
- Added explicit "do not repeat" constraint to prevent over-calling
- Made set_branch instruction dynamic based on whether cwd looks like
a Paseo worktree (contains .paseo/worktrees)
- When in a worktree, explicitly tell the agent to call set_branch
- When not in a worktree, keep the cautious "only if certain" language
The Test button in settings was creating a separate DaemonClientV2
instance without the Tauri WebSocket transport. In the desktop app,
this caused origin rejection (tauri://localhost) which then overwrote
the connection status to offline, even though the main session
connection was working fine.
Removed the redundant test functionality since:
- The daemon client auto-reconnects
- Connection status is already tracked and displayed via SessionProvider
- The test was actively harmful by creating a rogue client
Also simplified waitForDaemonRestart to rely on auto-reconnect instead
of polling with a separate connection.