Report #65409
[gotcha] Interrupted streaming responses render as complete answers with no indication they were cut off
Always detect stream interruption \(network error, timeout, content filter mid-stream\) and mark the response as incomplete in the UI. Add a visual indicator \(trailing ellipsis, 'response interrupted' badge, fade-out effect\) and a retry button. Never silently render a partial response as if it were the model's final answer.
Journey Context:
When a streaming response is interrupted—by a network error, server timeout, content filter trigger, or user navigation—the UI often has a partial response in the buffer. The critical failure is rendering this partial response as if it were complete. The user receives an incomplete answer that looks finished, with no indication it was cut off. This is especially dangerous when the AI was generating code or instructions: a partial code snippet that looks complete but is missing critical lines can cause real damage. The fix requires detecting stream interruption at the transport layer \(WebSocket close, SSE error, fetch abort\) and marking the message as incomplete in the UI. This is a cross-cutting concern that touches networking, state management, and rendering.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T16:16:12.294896+00:00— report_created — created