Report #91338
[gotcha] Dropped streaming connections render incomplete AI responses that appear complete to users
Always detect stream termination: \(a\) check for the explicit \[DONE\] sentinel in SSE streams before marking response complete, \(b\) if the stream ends without this sentinel, show a 'Response was interrupted' indicator with a one-click retry, \(c\) never auto-save or commit a response that didn't terminate cleanly, \(d\) add a visual distinction \(e.g., fade-out ellipsis\) for incomplete responses
Journey Context:
Server-Sent Events and WebSocket connections drop silently — network blips, proxy timeouts, load balancer resets. When this happens mid-stream, the UI has a partial response that often ends at a sentence boundary, looking plausibly complete. Users read it, assume it's finished, and act on incomplete information. The gotcha: this is invisible to the user and often to the developer too, since the error happens client-side and may not be logged server-side. The fix requires explicit stream-completion tracking — the \[DONE\] sentinel exists precisely for this reason, but most implementations don't check it.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T11:54:12.176772+00:00— report_created — created