Home

mweinbach / agent-coworker

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

fix(composer): make Stop and retry race-safe

2 months ago

7b78d73
Authored
Cursor Agent7/11/2026, 1:09:40 PM
# Conflicts:
#	apps/desktop/quality-gates/specs/journeys.pw.ts
#	apps/desktop/src/app/store.actions/thread.ts
#	apps/desktop/src/app/store.helpers.ts
#	apps/desktop/src/app/store.helpers/threadEventReducer/jsonRpcWorkspace.ts
#	apps/desktop/src/ui/ChatView.tsx
#	apps/desktop/src/ui/chat/NewChatLanding.tsx
#	apps/desktop/src/ui/chat/chatLogic.ts
#	apps/desktop/src/ui/composer/MessageComposer.tsx
#	docs/generated/websocket-jsonrpc.schema.json

Co-authored-by: Max Weinbach <mweinbach@users.noreply.github.com>

Parentsb16f7f9fbe9d1e

52 files changed
  • apps/desktop/electron/qualityGateMain.ts+8−2
  • apps/desktop/quality-gates/specs/journeys.pw.ts+14−5
  • apps/desktop/src/app/composerDrafts.ts+8−6
  • apps/desktop/src/app/composerSubmission.ts+72−0
  • apps/desktop/src/app/store.actions/bootstrap.ts+2−0
  • apps/desktop/src/app/store.actions/thread.ts+473−29
  • apps/desktop/src/app/store.helpers.ts+14−1
apps/desktop/src/app/store.helpers/jsonRpcSocket.ts
+22
−2
  • apps/desktop/src/app/store.helpers/runtimeState.ts+12−2
  • apps/desktop/src/app/store.helpers/threadEventReducer/feedProjection.ts+47−3
  • apps/desktop/src/app/store.helpers/threadEventReducer/handlers/contentHandlers.ts+20−2
  • apps/desktop/src/app/store.helpers/threadEventReducer/handlers/lifecycleHandlers.ts+14−1
  • apps/desktop/src/app/store.helpers/threadEventReducer/jsonRpcWorkspace.ts+30−1
  • apps/desktop/src/app/store.helpers/threadEventReducer/messaging.ts+57−11
  • apps/desktop/src/app/store.helpers/threadEventReducer/socket.ts+2−0
  • apps/desktop/src/app/store.ts+1−0
  • apps/desktop/src/app/types.ts+3−0
  • apps/desktop/src/lib/composerAttachments.ts+35−0
  • apps/desktop/src/ui/ChatView.tsx+48−169
  • apps/desktop/src/ui/chat/ChatComposer.tsx+30−15
  • apps/desktop/src/ui/chat/NewChatLanding.tsx+50−183
  • apps/desktop/src/ui/chat/chatLogic.ts+22−22
  • apps/desktop/src/ui/composer/MessageComposer.tsx+116−31
  • apps/desktop/test/chat-reasoning-ui.test.ts+14−11
  • apps/desktop/test/chat-view.stability.test.tsx+72−18
  • apps/desktop/test/composer-attachments.test.ts+46−1
  • apps/desktop/test/composer-draft-thread-switch.test.ts+571−2
  • apps/desktop/test/feed-projection-coalescing.test.ts+44−1
  • apps/desktop/test/jsonrpc-single-connection.test.ts+14−1
  • apps/desktop/test/message-composer.test.tsx+55−4
  • apps/desktop/test/protocol-v2-events.test.ts+98−0
  • docs/generated/websocket-jsonrpc.d.ts+6−6
  • docs/generated/websocket-jsonrpc.schema.json+1−1
  • docs/websocket-protocol.md+17−5
  • src/server/jsonrpc/routes/turn.ts+65−21
  • src/server/jsonrpc/schema.threadTurn.ts+2−0
  • src/server/projection/conversationProjectionAssistant.ts+2−0
  • src/server/projection/conversationProjectionFeedItems.ts+2−0
  • src/server/projection/conversationProjectionSessionEvents.ts+5−0
  • src/server/projection/conversationProjectionState.ts+2−0
  • src/server/protocol.ts+3−1
  • src/server/session/AgentSession.ts+10−0
  • src/server/session/SessionContext.ts+1−0
  • src/server/session/SessionRuntime.ts+10−0
  • src/server/session/TurnExecutionManager.ts+59−1
  • src/server/session/turnExecution/runUserMessageTurn.ts+22−13
  • src/server/session/turnExecution/steerCoordinator.ts+80−24
  • src/shared/idempotencyLedger.ts+6−0
  • src/shared/projectedItems.ts+3−0
  • test/idempotency-ledger.test.ts+10−0
  • test/jsonrpc/flow.turnSteer.test.ts+81−0
  • test/session/steerCoordinator.test.ts+74−0