Repository navigation
gallery: sent-row plays click the stacked first line; minimal received-row shift rows follow #33249 - #34149
Conversation
…d-row shift rows follow #33249 #33249 made message rows stacked by default: the verb, recipient and chevron on the row, the message's first line on its own line under it. A send's first line left the row's accessible name and a shut AgentMessageRow's toggle holds no words, so the plays for sent-message-rows#with-preview and agent-message-row#sent-opened(-long) click that first line, which toggles the row. Opening "Received N messages" in Minimal Mode now draws three 40px lines instead of 22px ones, so the rows under it move further (0.0175 -> 0.0318, the same ratio); the two shift rows follow. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-3bab30503f0b9a7059e5
|
Owned by an agent session · session |
|
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
States
Pick other states with a Passes: CI passes on CI passes on Written by web and size checks: green Shipped in:
|
|
Review (codex gpt-6-astra high, sweep, via the review router; full diff from merge base a09def6 to this head): BLOCK at d1a300c [P2] [blocking] |
|
Found 36 test failures on Blacksmith runners: Failures
...and 26 more test failures. View all on Blacksmith
|
#33249's stacked rows put a message's first line on its own line under the row (.cv-msgline__preview), and it toggles the row, but it is no fold toggle: a click there held nothing, the first line left as the row opened, and the transcript followed the bottom instead, moving the opened row up (116px in agent-message-row#sent-opened-long). foldToggleAt now maps a click on a first line to its row's line, the toggle it stands for. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-3bab30503f0b9a7059e5
teamleaderleo
left a comment
There was a problem hiding this comment.
Review (codex gpt-6-astra high, next-review, since=20261103T202138Z): SHIP at 840cbbc
SHIP at 840cbbc
Visual verdict: changed gallery states show the intended expanded rows and stacked first-line behavior; no visual regression found.
Reviewed foldToggleAt, its regression tests, gallery plays, baselines, and all available before/after renders.
Follow-ups: none
teamleaderleo
left a comment
There was a problem hiding this comment.
Review (codex gpt-6-astra high, next-review, since=20261103T211801Z): SHIP at f4f8411
SHIP at f4f8411
Visual verdict: no introduced visual regressions in the 16 supplied before/after pairs.
No correctness findings. Checked preview-to-header mapping and scroll anchoring; tests could not run because Bun and dependencies are unavailable.
Follow-ups: none
teamleaderleo
left a comment
There was a problem hiding this comment.
Review (next-review patch-id; carried, since=20261103T224225Z): SHIP at 00f2877
The independent SHIP at f4f8411 carries to this head: the PR's own change (git diff $(git merge-base feat-cmux-next HEAD) HEAD) has the same git patch-id --verbatim (5a61f9de2e1693d9) at both heads, and no merge between them was resolved by hand. Nothing new to review. A newer BLOCK, or any change to the PR's own diff, ends the carry.
…p its mended center-line rows The Landing report click scores 0.0411 or 0.0498 depending on whether the settle catches one more frame of the fold; a render with this PR's foldAnchor.ts reverted scores the same 0.0729/0.0816 (cmux-ci run 41747022740), so the rise is #33249's taller lines, not the code change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-3bab30503f0b9a7059e5
|
Review (subagent claude-opus-5-5 medium): SHIP at 0fbf904 Carried from the SHIP at 840cbbc: since then only base merges, plus #minimal-open's shift row moving 0.0624 to 0.0817 and its mended invariant row dropping. That rise is #33249's taller stacked lines (inbox step 0.0175 to 0.0318) plus a two-mode Landing-report step that shows up just as often with foldAnchor.ts reverted (cmux-ci run 41747022740). Every check is green at this head. Follow-ups: none |
…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>
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Base red:
gallery healthon feat-cmux-next (run 41683705075 at 2e9aa60). These states were green at 38fa1fd (run 41663855780) and are red in both renders now:Cause. #33249 made message rows stacked by default, a deliberate design: "A sent message, another agent's received line, an inbox thread and a folded group's head draw their verb, chip, count and chevron on the row and the message's first line (a group's senders) on its own line under it, at the text column, cut there (messageLineLook.ts, default stacked)". Leo agreed to that split on 2026-11-02 (messageLineLook.ts quotes him). So:
.cv-sent__belowline, outside the row'srole="button", so the row's accessible name no longer contains "net-retries: done".AgentMessageRow's toggle holds no words. Agent chat: message rows put the recipient and count on the row, the first line under it #33249 gives it a negative inline margin so the chevron sits right after the chip. A click at its centre lands on the recipient's chip, and insends()/long()that chip is a known subagent's button, which opens the subagent and stops the click before it reaches the line.both-directions-opened's recipient has no chat, so its click still toggles, and it stays green.Fix.
foldAnchor.ts): Agent chat: message rows put the recipient and count on the row, the first line under it #33249's first line toggles its row, but it is not a fold toggle. A click on it held nothing; the first line goes away as the row opens, and the transcript then followed the bottom and moved the opened row up 116px. The first round of this PR found that insent-opened-long(shift 0.1171).foldToggleAtnow maps a click on a.cv-msgline__previewfirst line to the row line it stands for (a sent line, an agent message line, a received line, a folded group's head), so the row stays where it was clicked, just as when the line itself is clicked. Unit tests are infoldAnchor.test.ts.with-previewclicks the send's first line (text: /^net-retries: done$/), which toggles the row as before.sent-openedandsent-opened-longclick.cv-agentmsg__below, the first line under the row, which a person clicks and which toggles the row.minimal-openopens the same row and then the Landing report line, so its row follows too (0.0624 to 0.0817). gallery health: received-row plays open "Received N messages"; a sender's mark centres on its line #33752 set 0.0624 as 0.0175 (inbox toggle) plus about 0.045 (Landing report). Now the inbox toggle scores 0.0318, and the Landing report click scores 0.0411 or 0.0498, depending on whether the step's settle catches one more frame of the fold (8 or 10 shift frames). So the state scores 0.0729 or 0.0816. The PR'sfoldAnchor.tschange adds none of it: the play clicks the line's toggle itself, not a first line. A fleet render of this entry withfoldAnchor.tsreverted to the base scored the same two values (0.0816 in 3 of 3 light renders, against 1 of 6 at this head). The base replay's 0.0728 was the low mode. The row is the worst measured, 0.0817; its limit adds its usual 25%.invariant-baseline.json:minimal-open's center-line rows (user-8, user-9, user-10) are dropped. The health run lists them as "Mended; drop from invariant-baseline.json" at the head and on the base. The old rows were correct for the one-line look and are wrong for the deliberate stacked one; that is the only reason they are widened. gallery health: incoming-message-disclosure plays open each fold as a clicked step (carries #32820) #33987's disclosure rows are untouched.Risk. Low. The one code change widens which clicks hold a disclosure line, adding the first line under a stacked message row; the other changes are gallery plays, three shift-baseline rows and one mended invariant row. Verification is this PR's own
gallery healthrun.Agent session: agent session
🤖 Generated with Claude Code