Report #41043
[gotcha] Aborting AI stream mid-generation leaves malformed content — unclosed markdown, broken code blocks, half-sentences
Implement abort-aware cleanup: detect stream interruption, trim content to the last complete sentence or structural element, close any unclosed markdown fences or formatting, and mark the response as incomplete in state with a continue-generating affordance. Never commit raw partial content as a final message.
Journey Context:
When users hit stop during streaming the accumulated content is in an indeterminate state. A code block may be missing its closing triple backticks, markdown bold may be missing closing asterisks, a sentence may end mid-word. If you freeze and display this as-is, syntax highlighting fails, layout breaks, and the content feels glitchy. The common mistake is treating the aborted stream as a valid complete response. Instead treat it as a special incomplete state. Run cleanup heuristics: close unclosed markdown fences, trim to last complete sentence. The tradeoff: aggressive cleanup can remove valid content such as a code snippet that genuinely contains unmatched backticks, so use conservative heuristics. Always offer a continue action so the user can resume generation rather than being stuck with a broken partial response.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T23:21:46.659974+00:00— report_created — created