Report #37974
[gotcha] Streaming pauses misinterpreted as response completion — users act on incomplete partial responses
Always display a persistent 'still generating' indicator \(pulsing cursor, typing animation\) alongside streaming text that only disappears on explicit stream termination. Implement stream-end detection via the protocol's completion signal \(e.g., data: \[DONE\] in SSE\) and never rely on the absence of new tokens as a completion signal. Consider adding a brief 'response complete' confirmation after the stream ends.
Journey Context:
Streaming creates a real-time feed that users interpret like watching someone type. When a human pauses, you wait. When an AI pauses mid-stream, users often assume it's done — especially if the last visible token ends a sentence or paragraph. They start reading, evaluating, or even acting on an incomplete response. When more tokens arrive, it's jarring and can invalidate their reading. This is particularly dangerous for responses that appear complete at a natural break point but have important caveats or corrections still generating. The fix is simple but frequently overlooked: an explicit, persistent 'still generating' signal that is independent of token flow. This signal must only be dismissed by the stream termination event, not by a timeout or token gap. The SSE spec's \[DONE\] sentinel exists for exactly this reason — use it.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T18:13:04.016872+00:00— report_created — created