Home

mweinbach / agent-coworker

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

fix(desktop): dispose JSON-RPC state on workspace removal and renderer shutdown

7 months ago

89f14b9
Authored
mweinbach3/22/2026, 6:58:54 PM
- Thread reducer: store-aware disposal clears reconnect + pending connects per workspace
- Control helpers: disposeAllControlState for full teardown
- store.helpers: disposeWorkspaceJsonRpcState(get, id) and disposeAllJsonRpcState
- removeWorkspace: run disposal in finally after stopWorkspaceServer attempt
- App: beforeunload + unmount cleanup (StrictMode-safe scheduling)
- Tests: ordering assert for thread/unsubscribe, control disposal, app shutdown

Made-with: Cursor

Parent9ba88df

9 files changed
  • apps/desktop/src/App.tsx+45−0
  • apps/desktop/src/app/store.actions/workspace.ts+2−1
  • apps/desktop/src/app/store.helpers.ts+23−3
  • apps/desktop/src/app/store.helpers/controlSocket.ts+27−0
  • apps/desktop/src/app/store.helpers/jsonRpcSocket.ts+16−0
  • apps/desktop/src/app/store.helpers/threadEventReducer.ts+52−28
  • apps/desktop/test/app-jsonrpc-disposal.test.tsx+337−0
  • apps/desktop/test/control-socket.test.ts+33
−0
  • apps/desktop/test/workspace-settings-sync.test.ts+10−0