From 7b7d6d01cf94ecad1dcaaa4b87670d50fe15790a Mon Sep 17 00:00:00 2001 From: Adam Malczewski Date: Wed, 21 Oct 2026 19:39:47 +0900 Subject: fix(chat): bound live subscriptions and preserve unconfirmed input --- src/features/chat/pending-inputs.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 src/features/chat/pending-inputs.ts (limited to 'src/features/chat/pending-inputs.ts') diff --git a/src/features/chat/pending-inputs.ts b/src/features/chat/pending-inputs.ts new file mode 100644 index 0000000..d7fb0aa --- /dev/null +++ b/src/features/chat/pending-inputs.ts @@ -0,0 +1,12 @@ +import type { ChatQueueMessage, ChatSendMessage } from "@dispatch/transport-contract"; + +/** A saved copy, never automatically retransmitted: requestId is not idempotent. */ +export interface PendingInput { + readonly request: (ChatSendMessage | ChatQueueMessage) & { readonly requestId: string }; + readonly rejection?: string; +} + +export interface PendingInputStorage { + load(): readonly PendingInput[]; + save(inputs: readonly PendingInput[]): void; +} -- cgit v1.2.3