Prevent replayed runtime events from forcing active status (#12420)

Fixes #11852

Resume replay was applying transient runtime events (`TurnStarted`,
`StreamError`) as if they were live, which could leave the TUI stuck in
a stale `Working` / `Reconnecting...` state after resuming an
interrupted reconnect.

This change makes replay transcript-oriented for these events by:
- skipping retry-status restoration for replayed non-stream events
- ignoring replayed `TurnStarted` for task-running state
- ignoring replayed `StreamError` for reconnect/status UI

Also adds TUI regression tests and snapshot coverage for the interrupted
reconnect replay case.
This commit is contained in:
Eric Traut
2026-02-21 11:55:03 -08:00
committed by GitHub
parent 5a635f3427
commit a6b2bacb5b
3 changed files with 189 additions and 7 deletions

View File

@@ -0,0 +1,6 @@
---
source: tui/src/chatwidget/tests.rs
assertion_line: 7060
expression: header
---
Ask Codex to do anything