FN-100: prevent false interrupted-response save errors on new chats
Make starting or clearing an idle chat a successful cancellation no-op while preserving durable cancellation barriers for active responses.
- Return success for idle generation cancellation instead of showing a false save warning.
- Await cancellation and reconciliation from the chat hook before queue/session transitions.
- Update chat API, route handling, documentation, regression tests, and the published fix changeset.
Files changed:
.changeset/fn-100-chat-new-cancel.md | 7 +++
docs/dashboard-guide.md | 2 +-
packages/dashboard/app/api/chat/chat.ts | 5 +-
packages/dashboard/app/components/ChatView.tsx | 25 +++++----
.../__tests__/ChatView.streaming-thread.test.tsx | 59 ++++++++++++++++++++++
.../dashboard/app/hooks/__tests__/useChat.test.ts | 37 ++++++++++++++
packages/dashboard/app/hooks/useChat.ts | 14 ++---
.../dashboard/src/__tests__/chat-manager.test.ts | 11 +++-
.../src/__tests__/routes-chat-cancellation.test.ts | 7 +--
packages/dashboard/src/chat.ts | 8 ++-
.../dashboard/src/routes/register-chat-routes.ts | 6 +--
11 files changed, 153 insertions(+), 28 deletions(-)
Fusion-Task-Id: FN-100
Fusion-Task-Lineage: caa5fe20-4abd-4884-ba1d-f9473c12b52f
Co-authored-by: Fusion <noreply@runfusion.ai>