Report #75578
[gotcha] Users can't tell when a streaming response is complete vs still generating vs errored — they act on incomplete content
Implement explicit, unmissable completion states: \(1\) disable copy, run, and action buttons until the stream finishes, \(2\) show a visible 'Generating...' badge that transitions to a 'Complete' state, \(3\) add a brief visual transition on completion \(border color change, checkmark, subtle animation\), \(4\) use WAI-ARIA live regions \(aria-live='polite'\) to announce completion for screen readers, \(5\) handle stream errors with a distinct 'Generation interrupted' state that's visually different from 'Complete'. Never rely solely on the typing cursor disappearing as the completion signal.
Journey Context:
With traditional request/response, the response arriving IS the completion signal. With streaming, tokens trickle in and then stop — but did they stop because the response is complete, because of a network hiccup, or because of a server error? Users can't tell. They start copying incomplete code, acting on partial advice, or sitting waiting for more that isn't coming. The typing animation stopping is far too subtle — users are reading content, not watching for cursor changes. This is especially dangerous for code generation where incomplete code is broken code. The fix requires treating stream completion as a first-class UI state with its own visual language, not just the absence of a streaming indicator.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T09:27:33.625549+00:00— report_created — created