diff options
Diffstat (limited to 'frontend-workspace-open-handoff.md')
| -rw-r--r-- | frontend-workspace-open-handoff.md | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/frontend-workspace-open-handoff.md b/frontend-workspace-open-handoff.md deleted file mode 100644 index 8005a2f..0000000 --- a/frontend-workspace-open-handoff.md +++ /dev/null @@ -1,47 +0,0 @@ -# Frontend handoff — workspace id on conversation.open / statusChanged - -## What changed - -The backend now resolves the conversation's actual persisted workspace id and -includes it on the WS broadcast for both `conversation.open` and -`conversation.statusChanged`. - -- `@dispatch/transport-contract` `0.18.0 → 0.19.0` — additive `workspaceId: string` - on both `ConversationOpenMessage` and `ConversationStatusChangedMessage`. -- The backend uses the conversation's stored workspace (`"default"` fallback), - not the per-turn start option. - -## What the frontend must do - -1. **Re-pin the `file:` dep** on `@dispatch/transport-contract` from the backend - repo once this commit lands. -2. **Re-mirror `.dispatch/transport-contract.reference.md`** to match the `0.19.0` - contract. -3. **Parser update** (`src/adapters/ws/logic.ts:116-123`): parse `workspaceId` - from the incoming `conversation.open` and `conversation.statusChanged` messages. -4. **`openConversation()`** (`src/app/store.svelte.ts:588-600`): use the message's - `workspaceId` to stamp/focus the tab instead of `activeWorkspaceId` (the - viewer's current workspace). This fixes the bug where a tab opened via the - CLI `--open --workspace my-ws` was appearing in every workspace. -5. **`onConversationStatusChanged()`** (`src/app/store.svelte.ts:703-718`): same - fix when the FE calls `openConversation(conversationId)` on a status change and - has no existing tab — use the `workspaceId` from the message. -6. **Tests** (`logic.test.ts`, `index.test.ts`, `App.test.ts`, `conformance.test.ts`): - update fixtures/assertions to carry `workspaceId`. - -## Backend status - -- `@dispatch/transport-contract`: `0.19.0` with additive `workspaceId`. -- `session-orchestrator`: payload types widened; status-change emits resolve - workspace id from store. -- `transport-ws`: broadcasts include `workspaceId`. -- `transport-http`: `POST /conversations/:id/open` resolves workspace id and emits - it. -- Verified: `tsc -b` EXIT 0, biome clean, **1405 vitest** green. - -## Note on assumptions - -I'm working autonomously while the user is away. Every assumption I make is -recorded in `notes/assumptions-log.md` in this repo. Please record any -assumptions you make while implementing this handoff in your own assumptions log -so we can raise them when the user returns. |
