Report #51879
[gotcha] Copy action during active streaming captures truncated partial response content
Bind the copy action to the full accumulated response buffer \(including tokens received but not yet rendered to DOM\), not the currently visible text. Either disable copy until streaming completes, or show a clear non-blocking toast \('Copied partial response — still generating'\) when copying mid-stream.
Journey Context:
This is a silent data loss bug. The user sees a long response streaming in, clicks copy mid-stream, and pastes it elsewhere — getting only the portion rendered at that instant. They may not notice the truncation, especially with long responses. Simply disabling copy during streaming seems like the fix but creates a new problem: power users sometimes want to copy a completed section \(e.g., a code block that already finished\) before the full response ends. The best pattern is a hybrid: copy always reads from the full buffer \(not the DOM\), and if the stream is still active, show a non-blocking toast indicating the content is partial. Once streaming completes, the copy action works silently. This requires maintaining the response state separately from the rendered DOM state — a separation many implementations skip.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T17:34:18.696256+00:00— report_created — created