Home

mweinbach / agent-coworker

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

fix(canvas): make persistence race-safe

2 months ago

f8584fe
Authored
Cursor Agent7/11/2026, 1:57:33 AM
Co-authored-by: Max Weinbach <mweinbach@users.noreply.github.com>

Parents6e6c79f6dffd16

42 files changed
  • apps/desktop/electron/ipc/files.ts+36−0
  • apps/desktop/electron/ipc/types.ts+6−0
  • apps/desktop/electron/ipc/window.ts+10−0
  • apps/desktop/electron/main.ts+10−0
  • apps/desktop/electron/preload.ts+42−0
  • apps/desktop/electron/qualityGateMain.ts+1−0
  • apps/desktop/electron/services/windowCloseCoordinator.ts+101−0
  • apps/desktop/src/App.tsx
+23
−0
  • apps/desktop/src/app/store.actions/explorer.ts+15−3
  • apps/desktop/src/app/store.actions/preview.ts+72−0
  • apps/desktop/src/app/store.helpers.ts+44−2
  • apps/desktop/src/app/store.helpers/jsonRpcSocket.ts+79−0
  • apps/desktop/src/lib/canvasDocumentController.ts+561−0
  • apps/desktop/src/lib/canvasDocumentLifecycle.ts+26−0
  • apps/desktop/src/lib/canvasSaveAs.ts+19−0
  • apps/desktop/src/lib/desktopApi.ts+18−0
  • apps/desktop/src/lib/desktopCommands.ts+17−0
  • apps/desktop/src/lib/desktopSchemas.ts+17−0
  • apps/desktop/src/lib/webAdapter.ts+11−0
  • apps/desktop/src/ui/Canvas.tsx+231−117
  • apps/desktop/test/canvas-hooks-stability.test.tsx+91−0
  • apps/desktop/test/canvas-persistence-races.test.ts+474−0
  • apps/desktop/test/canvas-read-path.test.ts+12−10
  • apps/desktop/test/canvas-save-as-recovery.test.ts+23−0
  • apps/desktop/test/canvas-window-lifecycle.test.tsx+22−0
  • apps/desktop/test/helpers/mockDesktopCommands.ts+3−0
  • apps/desktop/test/ipc-files.test.ts+67−0
  • apps/desktop/test/store-explorer.test.ts+39−0
  • apps/desktop/test/window-close-coordinator.test.ts+103−0
  • docs/generated/websocket-jsonrpc.d.ts+12−2
  • docs/generated/websocket-jsonrpc.schema.json+1−1
  • docs/websocket-protocol.md+14−2
  • src/platform/paths.ts+17−0
  • src/server/canvasDocumentPersistence.ts+733−0
  • src/server/jsonrpc/routes/types.ts+2−0
  • src/server/jsonrpc/routes/workspace.ts+133−0
  • src/server/jsonrpc/schema.workspace.ts+149−0
  • src/server/transport/h3/server.ts+3−0
  • src/shared/canvasDocument.ts+104−0
  • test/canvasDocumentPersistence.test.ts+494−0
  • test/jsonrpc.workspace-route.test.ts+146−0
  • test/platform/paths.test.ts+19−0