Report #27588
[gotcha] Dropped streaming connections leave partial responses that appear complete to users
Always track stream completion state via the finish\_reason field or stream done signal. Visually distinguish complete responses from incomplete ones \(e.g., solid vs dashed border, 'response interrupted' badge\). On reconnect, offer to regenerate or continue. Never persist a partial response to your database as if it were complete.
Journey Context:
When a streaming connection drops mid-response \(network blip, timeout, server error\), you're left with a partial response. The insidious part: partial responses are often syntactically valid. A JSON response missing its last few key-value pairs still parses. A text response missing its conclusion still reads coherently. The user has no way to know it's incomplete. If you cache or persist this partial response, it becomes your canonical data — silently wrong. This is especially dangerous for AI-generated code or data transformations where an incomplete output compiles or runs but produces subtly incorrect results. The fix is to always track whether the stream completed successfully and surface that state.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T00:42:19.015781+00:00— report_created — created