Skip to content

gallery health: received-row plays open "Received N messages"; a sender's mark centres on its line - #33752

Merged
teamleaderleo merged 2 commits into
feat-cmux-nextfrom
base-red-gallery-received-rows
Nov 3, 2026
Merged

teamleaderleo merged 2 commits into
feat-cmux-nextfrom
base-red-gallery-received-rows

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator

Base red: gallery health on feat-cmux-next (run 41623839244 at f504928). This PR fixes the cluster for received and agent-message rows.

What was red, and the cause

Broken: "play: waitFor did not hold within 5000 ms"

  • agent-pane.incoming-message#files, #files-elsewhere, #minimal-open, #minimal-fade-count, #minimal-inline-name
  • agent-pane.agent-message-row#folded-run-opened

Culprit: #32720 ("Transcript: a turn's inbox notices and received lines are one "Received N messages" row"). That was a deliberate design change. Leo, 2026-11-02: "can't we simply just display most of these as recieved x messages and all of them get revealed then we can expand the messages". Received lines that sit next to each other now gather in one closed "Received N messages" row. These plays waited for .cv-received lines that only show once that row is open.

Fix: the plays follow the design. They open the row first, as #32820 does for IncomingMessageDisclosure.gallery.ts (that file is not touched here) and #32823 did for the message-preview browser test. In IncomingMessageCard.gallery.ts, openAllLines and linesDrawn call a new openReceivedRow. AgentMessageRow.gallery.ts#folded-run-opened opens the row before it opens each line. The comments and notes that still said several received lines "never fold into one" now describe the row.

Geometry [center-line]: "row received:user-N: its icon centres -2 px off its first line"

  • agent-pane.message-preview#baseline-fade, #full-cards-no-fade, #one-line, #cards-no-fade
  • agent-pane.agent-message-row#folded-run (row received:user-76)

Culprit: #32720 again, which made these states' received lines into a "Received N messages" head with the row key received:<first id>. The head has one sender, so it draws that sender's mark (SenderMark, in the head since #30652). The mark nests its glyph in inline spans: AgentIdentity's wrapper, then the tone span. An inline svg sits on a text baseline, so the glyph drew 2px above the line's centre. The individual received lines had the same 2px miss before: invariant-baseline.json lists them as center-line:row user-1/user-2. Under the new key, the miss is a new red.

Fix (CSS): the mark's wrappers centre the glyph (inline-flex, align-items: center, and the svg/img display: block). This applies in the group head (MessageGroupHead.css) and in a received line's mark (conversation.css, where only the direct child span was centred). The Chief's text avatar keeps its own box. This follows the design rule the invariant cites (chat-transcript.md "glyph centered": a row's leading icon centres on its first line).

Layout shift past baseline

  • agent-pane.agent-message-row#both-directions-opened: shift 0.0265 vs baseline 0.02068 (light theme only, on all three attempts). The play opens the sent line, then the received line. Each opened panel pushes the rows under it down. That move is the variant's purpose and is no regression of its own.

The shift row is raised to 0.0265 so it matches the opened lines' geometry today. Exact culprit: not pinned from the artifacts. The run lists no moving rows, and several deliberate row changes since the row was written (#30256) touch these lines: #32867 puts the chevron after the label, #32574 shows the reply's Copy footer at rest under the turn, and #32742 changes received-row spacing. This is the one baseline row raised, and only by the measured amount. The dark theme of the same state stays under the old row.

Shift rows for the plays that now open the row. Opening the gathered row adds one more step, and the rows under it move one more time. This PR's first gallery run (41631275437) showed every play passing and every received center-line miss gone. It also put these states past their old shift rows. Each row is set to that run's measured worst, the same thing #32820 does for the disclosure entry:

state old new
incoming-message#files 0.15489 0.2418
incoming-message#files-elsewhere 0.00773 0.0154
incoming-message#minimal-open 0.03659 0.0624
incoming-message#minimal-fade-count 0 0.0175
incoming-message#minimal-inline-name 0 0.0175
agent-message-row#folded-run-opened 0.05651 0.0974

Risk

Low. The gallery plays and notes change only fixtures. The CSS changes only how a sender's mark centres inside its 16px slot: the glyph moves at most 2px down onto the line's centre, and the row's size does not change. This PR's own gallery health run is the check.

Agent session: agent session

🤖 Generated with Claude Code

…rk centres on its line

#32720 gathers received lines next to each other into one closed "Received N
messages" row, so plays that waited for .cv-received lines timed out
(incoming-message files, files-elsewhere, minimal-open, minimal-fade-count,
minimal-inline-name; agent-message-row folded-run-opened). They now open that
row first, as #32820 does for the disclosure entry.

The row's head draws the one sender's mark (SenderMark) in the tool icon
slot; its glyph sat in nested inline spans on a text baseline, 2px above the
line's centre (center-line, row received:user-N in message-preview and
folded-run). The wrappers now centre the glyph, in the head and in a
received line's mark.

agent-message-row#both-directions-opened's shift row follows the opened
lines' current geometry (0.02068 -> 0.0265).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-3bab30503f0b9a7059e5
@github-actions

github-actions Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review 112877e: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr33752 -f ref=base-red-gallery-received-rows -f platform=macos -f backend_mode=local

Gallery before/after for 112877e: 16 states rendered, 11 images differ, 3248 more touched states not rendered. Images are in the run's artifact, not on this public PR; the independent review of this head reads them on its own, so the PR needs no hand-made screenshots of these states.

gh run download 41637458170 -R manaflow-ai/cmux -n gallery-advisory-33752-112877e442cf7f98bfafa715d01ebe4df92400ad (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.access-offer/turn-no-credits Apple System Colors Light unchanged 0% own conversation.css
agent-pane.access-offer/turn-no-credits Apple System Colors unchanged 0% own conversation.css
agent-pane.access-offer/turn-low-credits Apple System Colors Light unchanged 0% own conversation.css
agent-pane.access-offer/turn-low-credits Apple System Colors unchanged 0% own conversation.css
agent-pane.access-offer/turn-no-offer Apple System Colors Light unchanged 0% own conversation.css
agent-pane.access-offer/turn-no-offer Apple System Colors unchanged 0% own conversation.css
agent-pane.activity-line-looks/none Apple System Colors Light unchanged 0% own conversation.css
agent-pane.activity-line-looks/none Apple System Colors unchanged 0% own conversation.css
agent-pane.activity-line-looks/spinner Apple System Colors Light changed 0.0556% own conversation.css
agent-pane.activity-line-looks/spinner Apple System Colors changed 0.0496% own conversation.css
agent-pane.activity-line-looks/kind Apple System Colors Light changed 0.0291% own conversation.css
agent-pane.activity-line-looks/kind Apple System Colors changed 0.0251% own conversation.css
agent-pane.activity-line-looks/aligned Apple System Colors Light unchanged 0% own conversation.css
agent-pane.activity-line-looks/aligned Apple System Colors unchanged 0% own conversation.css
agent-pane.agent-message-row/unicode-boundary Apple System Colors Light changed 0.0411% own AgentMessageRow.gallery.ts
agent-pane.agent-message-row/unicode-boundary Apple System Colors changed 0.0404% own AgentMessageRow.gallery.ts
agent-pane.agent-message-row/sent Apple System Colors Light unchanged 0% own AgentMessageRow.gallery.ts
agent-pane.agent-message-row/sent Apple System Colors unchanged 0% own AgentMessageRow.gallery.ts
agent-pane.agent-message-row/lanes Apple System Colors Light unchanged 0% own AgentMessageRow.gallery.ts
agent-pane.agent-message-row/lanes Apple System Colors unchanged 0% own AgentMessageRow.gallery.ts
agent-pane.agent-message-row/sent-subagents Apple System Colors Light unchanged 0% own AgentMessageRow.gallery.ts
agent-pane.agent-message-row/sent-subagents Apple System Colors unchanged 0% own AgentMessageRow.gallery.ts
agent-pane.agent-message-row/sent-hover Apple System Colors Light unchanged 0% own AgentMessageRow.gallery.ts
agent-pane.agent-message-row/sent-hover Apple System Colors unchanged 0% own AgentMessageRow.gallery.ts
agent-pane.agent-message-row/sent-opened Apple System Colors Light changed 0.0094% own AgentMessageRow.gallery.ts
agent-pane.agent-message-row/sent-opened Apple System Colors changed 0.0077% own AgentMessageRow.gallery.ts
agent-pane.agent-message-row/sent-opened-long Apple System Colors changed 0.0031% own AgentMessageRow.gallery.ts
agent-pane.agent-message-row/sent-opened-long Apple System Colors Light unchanged 0% own AgentMessageRow.gallery.ts
agent-pane.agent-message-row/outcomes Apple System Colors Light changed 0.0412% own AgentMessageRow.gallery.ts
agent-pane.agent-message-row/outcomes Apple System Colors changed 0.0395% own AgentMessageRow.gallery.ts
agent-pane.approval-edits/single Apple System Colors Light unchanged 0% own conversation.css
agent-pane.approval-edits/single Apple System Colors unchanged 0% own conversation.css

Pick other states with a Gallery: entry.id, entry.id/variant line in the PR body.

red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on 96eb1b9 to compare; do not merge until green; see lane-rules

Shipped in:

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by an agent session · session

@github-actions github-actions Bot added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Nov 3, 2026
@blacksmith-sh

blacksmith-sh Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Found 8 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmpbzz26ocr/summary-missing.json (live):/summary-missing.json (live): View Logs
/tmp/tmpxl941d28/summary-fail.json (live):/summary-fail.json (live): View Logs
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows/
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows
View Logs
[new_workspaces] the window draws no frames/[new_workspaces] the window draws no frames View Logs
[tabs] debug.tab_switch timed 0 of 40 switches/
[tabs] debug.tab_switch timed 0 of 40 switches
View Logs
[tabs] the window draws no frames/[tabs] the window draws no frames View Logs
test_every_compile_job_names_its_warm_sources (main.ThisTree.test_every_compile_job
_names_its_warm_sources)/
test_every_compile_job_names_its_warm_sources (main.ThisTree.test_every_compile_job
_names_its_warm_sources)
View Logs
test_the_repository_highlights_validate (main.DigestTests.test_the_repository_highl
ights_validate)/
test_the_repository_highlights_validate (main.DigestTests.test_the_repository_highl
ights_validate)
View Logs

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

…Received N messages" row

The plays open #32720's gathered row before they open its lines, so the
rows under it move once more; rows set to this PR's measured worst
(run 41631275437), as #32820 does for the disclosure entry.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-3bab30503f0b9a7059e5

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 112877e4 Deployed Nov 3, 2026 by teamleaderleo via cmux-tui tree preflight #106090
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:normal Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant