Agent chat: message rows on one line, names whole, in the text tone

Merged
TE
3d ago
+281-265

Leo, on the agent message rows in the transcript ("Sent to " rows, "Received 2 messages", an opened "Sent 3 messages" group, a bot's line with a subtitle under it):

i don't think these subtitles are as good as just doing it directly in the same line. likewise, idk why everything is grey other than the recieving message bubble. and idk why names are ellipses'd so early plus the weird chevron spacing thing

This is a restyle only. No control is removed or switched off.

1. The preview goes back on the same line. messageLineLook.ts now defaults to single, so the row reads verb, then name, then count, then the muted first line, then the chevron. The stacked look stays available as the stacked gallery version.

  • Regressed by #33249, which made stacked the default.

2. The rows aren't grey any more. Sent, received and group rows read in the transcript's text tone (--cv-text). The preview is the one muted span (--cv-text-muted). An opened send now matches an opened received message in tone and size, where before it was muted detail-size text. The line's hover lift is gone, so a row keeps one tone.

  • Regressed by #27074 (the activity grey on message rows) and #29754 (the hover lift).

3. Names are no longer cut early.

  • Removed the chip's 40% cap (#27312, from #23738/#23727) and the received sender's 45% cap (#27312).
  • A name no longer shrinks at all; it is capped only at the line. Flex shrink is weighted by width, so even a shrink of 1 against the preview's 1000 shaved a pixel off the name and showed its ellipsis. The preview gives way instead, so only a name wider than the whole line is cut.

4. Chevron spacing.

  • The sentence and preview take only their words' width, so the chevron sits right after the words.
  • Every message-row chevron is one size (14 at stroke 1.2). The received line and group head drew 12 at 1.4.
  • transcript-chevron-after-label.test.ts now covers message rows (agent-pane.message-line-look leo-capture and single).
  • Regressed by #33249, whose empty-toggle pull-back left the chevron floating once the preview moved off the line.

Gallery. agent-pane.message-line-look has these variants:

  • single: the default.
  • leo-capture: the capture redrawn, with long host/lane names, "· and N more commands", SendMessage rows and a received pair.
  • leo-capture-stacked: the before, using #33249's look.
  • stacked, opened, quiet: the other versions.

Tests. The stacked expectations #33249 added go back to the one-line ones. A new SentMessageLine.test.tsx case covers both looks. Locally scoped unit run: 93 pass, 0 fail.

Spec. design/chat-transcript.md, "Always draw a message row between agents ... on one line" (private notes repo).

Follow-up for #34149 (stacked gallery plays): it needs a rebase after this lands. That rebase is its owner's.

Agent session: agent session

🤖 Generated with Claude Code


Autofix with [code]smith
Open in [code]smith · Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Restyles agent message rows in the transcript so they read on one line with the recipient's whole name, in the transcript's text tone. This is a restyle only; no control is removed or switched off.

  • The message's first line sits back on the row after the name and count, muted, instead of on its own line underneath; the stacked look stays as a gallery variant.
  • Sent, received, and group rows switch from the grey activity tone to the transcript's text tone; the preview is the one muted span.
  • Names lose their 40%/45% width caps and never shrink — only the full line width cuts them, and the preview yields first.
  • Chevrons sit right after the words, all at one size; an opened send matches an opened received message in tone and size.
  • The gallery adds leo-capture and leo-capture-stacked variants; tests and row-height estimates update to the one-line layout.