Repository navigation
Agent chat: message rows on one line, names whole, in the text tone - #34464
Conversation
Leo, 2026-11-03, on the stacked message rows: "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". - messageLineLook.ts: the default is single again (the first line on the row after the name); stacked (#33249) stays as a gallery version. - The other agent's name takes its whole width: no 40%/45% caps; the preview gives way first (flex-shrink 1000). - Sent, received and group rows read in --cv-text; the preview in --cv-text-muted. - The chevron follows the words (the sentence takes its words' width). - Gallery: agent-pane.message-line-look leo-capture and leo-capture-stacked. - Tests: #33249's stacked expectations go back to one line; a unit test covers both looks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-92fa78a91e29868c5eaa
…xt tone; chevron-after-label covers message rows Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-92fa78a91e29868c5eaa
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-92fa78a91e29868c5eaa
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-92fa78a91e29868c5eaa
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Gallery before/after for red: web / Web status; a job it gathers is red on this change (its line here); do not merge until green; see lane-rules Shipped in:
|
…tays in view (#34509) * Agent chat: a long name gives way after the preview, so the chevron and status stay in view Follow-up to #34464 (review). Names keep their natural width while the first line has room; once it is gone the name is cut, never the chevron or status. A send's file name is cut as the preview is. The declined message line's chevron takes the rows' 14/1.2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-92fa78a91e29868c5eaa * Agent chat: a received line's toggle gives way before its sender's name Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-92fa78a91e29868c5eaa --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Agent chat: test that message lines rest in the activity tone Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64 * Agent chat: message lines rest in the activity tone, light only on hover or focus Leo, 2026-11-03: "these are now too lit up by default? they should only be this bright when u hover over it", on "Received 6 messages" / "Sent 2 messages". #34464 drew sent, received, group-head and run lines in --cv-text at rest; they now rest at --cv-activity-text like the finished tool rows and light to --cv-text on hover or keyboard focus. Opened cards keep --cv-text. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64 * Agent chat: received lines rest dim in the browser test; open group heads and plain senders follow the line received-message-steady-tone-browser.test.ts pinned the earlier no-lift order; it now asserts rest = activity tone, hover = text tone, cards unchanged. An open group head keeps its words lit; .cv-received__from inherits the line's tone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-d750cf10922c785efa64 --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…w the live line kept last (base reds) (#34620) * gallery: message-row plays click the one-line row's first line (#34464) #34464 returned message rows to one line: the first line sits on the row after the name, and stacked (#33249) stays a gallery version. #34149's plays clicked .cv-agentmsg__below, the stacked first line, which the default no longer draws (agent-message-row#sent-opened, #sent-opened-long: no element), and message-line-look#opened waited for Copy under the opened message, which only the stacked version moves there (waitFor timed out). The plays click the first line's words on the row, never the recipient's chip, and wait for what the one-line look draws. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-3bab30503f0b9a7059e5 * gallery: shift rows follow the one-line message rows and the live line kept last incoming-message#minimal-fade-count, #minimal-inline-name and #minimal-open go back down to 0.0175, 0.0175 and 0.0624: #34149 raised them for #33249's stacked lines, and #34464's one-line rows measure 0.01749, 0.01749 and 0.0623 again on base (push run 41756372530). queued-agent-messages#subsession-outbox and composer#queued-from-agent-open open a waiting message above the running turn's live Thinking line, which #34370 keeps as the last row by design (Leo: "thinking shimmer not being at the bottom looks bad"), so opening it moves the live line down by what opened (0.0159, 0.0082). Their 0 rows were measured with the live line over the waiting group. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-3bab30503f0b9a7059e5 --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…t spacing test's after() helper (#34577) * base red: the What's New brief's More line sits on the spacing scale (design tokens) check:design-tokens is red on feat since b7c9441 (#34477): the brief popover's .wn-pop-more used margin-top 2px, off the token scale. It now uses --ds-space-1 (4px), the same gap .wn-pop-all uses above it. * base red: transcript spacing test defines after() again (webviews typecheck) webviews typecheck is red on feat: test/transcript-spacing-kinds.test.ts:247 calls after(), which #34464 (1e8a45b) removed together with below() while #34370 (8557b10, written on a base that still had them) added a new use. Restore both helpers as #34370 measured with them; no other change. * base red: cloudRun test names a string in its template (vp lint restrict-template-expressions) #34592 (31ffec4) builds a call label with ${params.cwd}, an unknown; vp lint treats that as an error in the pre-push web lint, so the merge service's hook refused #34577's squash. String() it; no behavior change. * base red: format three webviews files the way vp fmt --check wants feat's emoji shortcode change (#34364) left App.tsx, emojiShortcodes.test.ts and composer-emoji.browser.test.ts unformatted, so vp fmt --check fails the pre-push web lint on every webviews push. Output of scripts/web-lint.sh --fix. * base red: the Cloud start source check accepts the formatted App.tsx call vp fmt puts cloudFolderGrant.granting(folder.cwd, pickFolder(...)) on several lines, and cloudRun.test.ts read it as one line, so it failed after the format commit. The pattern now allows whitespace between the arguments. bun test cloudRun.test.ts: 21 pass, 0 fail.
…view, not the sender (#35851) #34464 put the sender and the first line on one row again, so the line holds both .cv-received__from and .cv-received__preview. querySelector with the list ".cv-received__preview, .cv-received__from" returns the earlier node in the document, the sender, and the test read the gap from the sender's name to the chevron (233-275 px) instead of from the words (under 8.5 px). It now takes the preview first and falls back to the sender in the stacked look. Red on the base, green here: cd webviews && CMUX_BROWSER_TESTS=1 bun test ./test/incoming-message-disclosure-browser.test.ts -t "a delivered message and a waiting one" Agent-Session: https://cmux.com/deeplink/agent?id=aid-8707001042ea634e8771 Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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):
This is a restyle only. No control is removed or switched off.
1. The preview goes back on the same line.
messageLineLook.tsnow defaults tosingle, so the row reads verb, then name, then count, then the muted first line, then the chevron. The stacked look stays available as thestackedgallery version.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.3. Names are no longer cut early.
4. Chevron spacing.
transcript-chevron-after-label.test.tsnow covers message rows (agent-pane.message-line-lookleo-captureandsingle).Gallery.
agent-pane.message-line-lookhas these variants:single: the default.leo-capture: the capture redrawn, with longhost/lanenames, "· and N more commands", SendMessage rows and a received pair.leo-capture-stacked: the before, using Agent chat: message rows put the recipient and count on the row, the first line under it #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.tsxcase 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
Open in [code]smith · Need help on this PR? Tag
@codesmith-botwith 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.
leo-captureandleo-capture-stackedvariants; tests and row-height estimates update to the one-line layout.Written for commit f45d0e7. Summary will update on new commits.