diff options
| author | Adam Malczewski <[email protected]> | 2026-06-21 21:47:24 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-21 21:47:24 +0900 |
| commit | 8b467cd9279f53a916a336a54e92780c9cc0a045 (patch) | |
| tree | d73e25225a05701f1e0908b4a0cd4429ec41d44c /src/core/wire/conformance.ts | |
| parent | 857762099d458147bcc4ea4097357351164d3910 (diff) | |
| download | dispatch-web-8b467cd9279f53a916a336a54e92780c9cc0a045.tar.gz dispatch-web-8b467cd9279f53a916a336a54e92780c9cc0a045.zip | |
feat(ws): handle conversation.open broadcast — open/focus tab from CLI --open
Consume the conversation.open handoff ([email protected], [email protected]).
Re-pinned file: deps + re-mirrored .dispatch/*.reference.md.
- WS adapter (logic.ts + index.ts): parse + route the new top-level
"conversation.open" WsServerMessage to an onConversationOpen handler
- app store: openConversation(id) opens (or focuses) a tab — creates a chat
store, loads history, subscribes to live turns, creates+selects the tab
- conformance guard + WS adapter tests cover the new type
- backend also shipped conversation metadata endpoints (GET /conversations,
GET /conversations/:id/last, GET/PUT /conversations/:id/title) — mirrored
but not yet consumed by the FE
682 tests green.
Diffstat (limited to 'src/core/wire/conformance.ts')
| -rw-r--r-- | src/core/wire/conformance.ts | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/core/wire/conformance.ts b/src/core/wire/conformance.ts index 6e87e5c..05a15aa 100644 --- a/src/core/wire/conformance.ts +++ b/src/core/wire/conformance.ts @@ -81,6 +81,8 @@ export function assertWsServerMessageExhaustive(msg: WsServerMessage): string { return "chat.delta"; case "chat.error": return "chat.error"; + case "conversation.open": + return "conversation.open"; default: return msg satisfies never; } |
