fix(app): keep Settings connections on the workspace server#2688
fix(app): keep Settings connections on the workspace server#2688reachjalil wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
@reachjalil is attempting to deploy a commit to the Different AI Team on Vercel. A member of the Team first needs to authorize it. |
Deterministic regression proof — passed
This is an internal |
Review map: independent state and sync reliability draftsThese drafts address separate ownership/order boundaries and are intended to be reviewed independently against
There is no required merge order. Each PR body includes its own validation, evidence limitations, and a Human review still required checklist. Internal fraimz proofs in this set are test-backed ordering evidence, not live UI recordings. |
Remote workspace reliability series
This is an independent follow-up to #2685, #2686, and #2687. It can merge directly against
dev, but it also closes #2687's known reload-ownership gap and should land before #2687 is promoted from draft.What was wrong
Settings already resolved a remote OpenCode client for the selected workspace, but its MCP and provider stores still received the local host's OpenWork server store. That mixed two authorities: a remote server-side workspace ID and the local server client.
The mismatch could show local connection state inside a remote workspace, write connection/provider configuration to the wrong server, or service a remote reload through the local desktop engine. A delayed reload could also follow a later workspace selection instead of the workspace that originated the mutation.
What changed
Ownership and ordering
The client and workspace ID are captured at mutation time. Reload execution therefore cannot drift to whichever workspace happens to be selected later.
Security and compatibility
See
docs/remote-settings-connections.mdfor the full design and failure behavior.Validation
pnpm --filter @openwork/app test— 177 passed, 0 failedpnpm --filter @openwork/app typecheck— passedpnpm --filter @openwork/app build— passedpnpm fraimz --flow remote-settings-connections— internal deterministic flow passed: 4 chapters plus voice-over coverageThe Fraimz flow uses focused tests and source-level assertions with
requiresApp: false; it does not claim a live remote-worker screenshot. A live worker/disconnect journey remains a review gate before this draft is marked ready.