Home

mweinbach / agent-coworker

publicmweinbach/agent-coworker
Overview Code History Branches Pull requestsIssuesInsights
main
HomeOverview Code PRsIssues

feat: expose full desktop browser mode

6 months ago

d8bd4b3
Authored
mweinbach4/18/2026, 3:03:43 PM
The web shell only seeded one workspace from localStorage, so browser sessions could not see the Electron workspace registry or start per-workspace servers. This adds a server-backed desktop web service for persisted state, transcripts, workspace roots, and workspace lifecycle, then teaches the browser adapter to use it while keeping the single-workspace fallback path intact.

Constraint: Browser mode must still work against a plain single --dir server when the desktop web service is unavailable
Rejected: Rebuild browser mode around client-only localStorage state | would still diverge from Electron workspace and transcript behavior
Confidence: medium
Scope-risk: moderate
Reversibility: clean
Directive: Keep browser desktop state and Electron desktop state compatible through the shared state.json and transcripts contract
Tested: bun run typecheck; bun test apps/desktop/test/web-adapter.test.ts test/webDesktopRoutes.test.ts
Not-tested: bun test still fails in the pre-existing desktop token-compliance lane for raw colors and inline styles outside this diff

Parente2b7051

9 files changed
  • apps/desktop/src/components/ConnectPage.tsx+18−0
  • apps/desktop/src/lib/webAdapter.ts+119−18
  • apps/desktop/src/lib/webWorkspaceState.ts+10−2
  • apps/desktop/test/web-adapter.test.ts+92−1
  • scripts/start_web_dev.ts+5−1
  • src/server/startServer.ts+13−1
  • src/server/webDesktopRoutes.ts+110−4
  • src/server/webDesktopService.ts+669
−0
  • test/webDesktopRoutes.test.ts+114−0