Agent chat: a failed turn's error reads as its own block
Agent chat dogfood against the Codex and Claude desktop apps. A failed turn (rate limit, unreachable proxy, signed out) drew its error inside the turn's footer row: "Worked for 42s" and Retry on the left, the error and its Switch model / Copy error buttons squeezed in the middle, the time on the right. A two-line rate-limit message read as a narrow column next to the footer.
The failure now reads as the turn's answer does. It's a block above the footer row, and the footer row keeps Worked for, Retry and the time, same as a turn that answered.
Gallery (Transcript rows): before /live/?entry=agent-pane.transcript#/agent-pane.transcript/turn-error, after /wt/op-next-turn-error-layout/?entry=agent-pane.transcript#/agent-pane.transcript/turn-error (also turn-error-long, turn-error-unreachable, turn-error-signed-out).
Verification
- Red at f13b9c6d0302 (test only):
bun test test/turn-error-layout.test.tsxfailed, because the note was inside.cv-turn-actions. - Green on this head: that test,
signed-out-harnessandretry-model(5 pass),ui-rules(4 pass), andbun run check.
Changelog
Fixed: A failed agent turn shows its error as its own block above the turn's footer instead of squeezed between Worked for and the time.
🤖 Generated with Claude Code
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Fixes failed agent turn error layout so the error reads as its own block above the footer row, matching how a turn's answer displays, instead of being squeezed between Worked for and the time.
Bug Fixes
- The error now renders above the footer row; the footer keeps Worked for, Retry, and the time.
- Added a test asserting the error sits outside the footer row.