Agent chat: a failed turn's error reads as its own block

Merged
TE
24d ago
+155-64

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.tsx failed, because the note was inside .cv-turn-actions.
  • Green on this head: that test, signed-out-harness and retry-model (5 pass), ui-rules (4 pass), and bun 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


View with [code]smith Autofix with [code]smith
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.