Skip to content

gallery: sent-row plays click the stacked first line; minimal received-row shift rows follow #33249 - #34149

Merged
teamleaderleo merged 7 commits into
feat-cmux-nextfrom
base-red-gallery-sent-rows
Nov 4, 2026
Merged

teamleaderleo merged 7 commits into
feat-cmux-nextfrom
base-red-gallery-sent-rows

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator

Base red: gallery health on feat-cmux-next (run 41683705075 at 2e9aa60). These states were green at 38fa1fd (run 41663855780) and are red in both renders now:

State Red Culprit
agent-pane.agent-message-row#sent-opened, #sent-opened-long play: waitFor did not hold within 5000 ms #33249
agent-pane.sent-message-rows#with-preview play: no element for button "/net-retries: done/" #33249
agent-pane.incoming-message#minimal-fade-count, #minimal-inline-name shift 0.0318 vs baseline 0.0175 (click the inbox "Received N messages" toggle) #33249
agent-pane.incoming-message#minimal-open shift 0.0816 vs baseline 0.0624 (the same inbox toggle, then the Landing report line) #33249

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:

  • A send's first line is now a separate .cv-sent__below line, outside the row's role="button", so the row's accessible name no longer contains "net-retries: done".
  • A shut 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 in sends()/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.
  • Each opened Minimal Mode received line is now 40px (22px row plus 18px first line) instead of 22px. Opening "Received N messages" therefore pushes the rows under it further: 0.0175 to 0.0318, the same ratio as 66px to 120px.

Fix.

  • Code (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 in sent-opened-long (shift 0.1171). foldToggleAt now maps a click on a .cv-msgline__preview first 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 in foldAnchor.test.ts.
  • Gallery:
  • with-preview clicks the send's first line (text: /^net-retries: done$/), which toggles the row as before.
  • sent-opened and sent-opened-long click .cv-agentmsg__below, the first line under the row, which a person clicks and which toggles the row.
  • The two shift rows follow Agent chat: message rows put the recipient and count on the row, the first line under it #33249's taller opened lines (0.0175 to 0.0318), which gallery health: received-row plays open "Received N messages"; a sender's mark centres on its line #33752 measured before the stacked look. minimal-open opens 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's foldAnchor.ts change adds none of it: the play clicks the line's toggle itself, not a first line. A fleet render of this entry with foldAnchor.ts reverted 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 health run.

Agent session: agent session

🤖 Generated with Claude Code

…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
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by an agent session · session

@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 0fbf904: 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=pr34149 -f ref=base-red-gallery-sent-rows -f platform=macos -f backend_mode=local

Gallery before/after for 0fbf904: 16 states rendered, 15 images differ, 3401 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 41748550168 -R manaflow-ai/cmux -n gallery-advisory-34149-0fbf9043ea496a33ee7ef732bf09407ea076bd83 (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.agent-message-row/unicode-boundary Apple System Colors Light unchanged 0% own AgentMessageRow.gallery.ts
agent-pane.agent-message-row/unicode-boundary Apple System Colors unchanged 0% 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 5.01% own AgentMessageRow.gallery.ts
agent-pane.agent-message-row/sent-opened Apple System Colors changed 4.98% own AgentMessageRow.gallery.ts
agent-pane.agent-message-row/sent-opened-long Apple System Colors changed 9.4% own AgentMessageRow.gallery.ts
agent-pane.agent-message-row/sent-opened-long Apple System Colors Light changed 9.4% own AgentMessageRow.gallery.ts
agent-pane.agent-message-row/outcomes Apple System Colors Light unchanged 0% own AgentMessageRow.gallery.ts
agent-pane.agent-message-row/outcomes Apple System Colors unchanged 0% own AgentMessageRow.gallery.ts
agent-pane.expand-at-bottom/shipped Apple System Colors Light changed 3.37% own foldAnchor.ts
agent-pane.expand-at-bottom/shipped Apple System Colors changed 3.32% own foldAnchor.ts
agent-pane.expand-at-bottom/prompt Apple System Colors Light unchanged 0% own foldAnchor.ts
agent-pane.expand-at-bottom/prompt Apple System Colors unchanged 0% own foldAnchor.ts
agent-pane.expand-at-bottom/expand-at-bottom Apple System Colors changed 0% own foldAnchor.ts
agent-pane.expand-at-bottom/expand-at-bottom Apple System Colors Light unchanged 0% own foldAnchor.ts
agent-pane.expand-at-bottom/collapse-at-bottom Apple System Colors Light changed 0% own foldAnchor.ts
agent-pane.expand-at-bottom/collapse-at-bottom Apple System Colors changed 0% own foldAnchor.ts
agent-pane.expand-at-bottom/collapse-tall-group Apple System Colors changed 0% own foldAnchor.ts
agent-pane.expand-at-bottom/collapse-tall-group Apple System Colors Light unchanged 0% own foldAnchor.ts
agent-pane.expand-at-bottom/expand-away Apple System Colors Light changed 0% own foldAnchor.ts
agent-pane.expand-at-bottom/expand-away Apple System Colors changed 0% own foldAnchor.ts
agent-pane.sent-message-rows/sent Apple System Colors Light changed 0.0014% own SentMessageLine.gallery.ts
agent-pane.sent-message-rows/sent Apple System Colors unchanged 0% own SentMessageLine.gallery.ts
agent-pane.sent-message-rows/with-preview Apple System Colors Light changed 15.6% own SentMessageLine.gallery.ts
agent-pane.sent-message-rows/with-preview Apple System Colors changed 15.2% own SentMessageLine.gallery.ts

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

Passes: CI passes on 0fbf9043ea.

CI passes on 0fbf9043ea (run 41748499379 attempt 1).

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way, seen on other PRs that it failed on another pull request's run lately.

web and size checks: green

Shipped in:

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

Copy link
Copy Markdown
Collaborator Author

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] webviews/src/agent-session/acpmux/conversation/AgentMessageRow.gallery.ts:339 - The sent-opened and sent-opened-long plays query .cv-agentmsg__below, but AgentMessageRow renders no such element (the toggle is .cv-agentmsg__toggle), so both plays fail with “no element” and gallery health fails. Use the existing toggle selector or add the matching element.

@blacksmith-sh

blacksmith-sh Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Found 36 test failures on Blacksmith runners:

Failures

Test View Logs
main.DeveloperIdAppTests.test_download_prints_the_active_profile_only/
test_download_prints_the_active_profile_only
View Logs
stubs: /System/Library/Frameworks/Security.framework/Versions/A/Security has no stub/
Security has no stub
View Logs
stubs: CoreFoundation.tbd: install-name /System/Library/Frameworks/
CoreFoundation.framework/Versions/A/CoreFoundation, missing 1: ['_CFRetain']/
CoreFoundation, missing 1: ['_CFRetain']
View Logs
stubs: CoreFoundation.tbd: install-name /System/Library/Frameworks/
CoreFoundation.framework/Versions/A/CoreFoundation, missing 1: ['_log2']/
CoreFoundation, missing 1: ['_log2']
View Logs
test_a_build_host_runs_every_piece_niced_and_capped (main.WebLintPrePushTests.test_
a_build_host_runs_every_piece_niced_and_capped)/
test_a_build_host_runs_every_piece_niced_and_capped (main.WebLintPrePushTests.test_
a_build_host_runs_every_piece_niced_and_capped)
View Logs
test_a_clean_pushed_commit_passes_whatever_the_working_tree_holds (main.WebLintPreP
ushTests.test_a_clean_pushed_commit_passes_whatever_the_working_tree_holds)/
test_a_clean_pushed_commit_passes_whatever_the_working_tree_holds (main.WebLintPreP
ushTests.test_a_clean_pushed_commit_passes_whatever_the_working_tree_holds)
View Logs
test_a_clean_swift_only_push_runs_only_the_pieces_that_read_it (main.WebLintPrePush
Tests.test_a_clean_swift_only_push_runs_only_the_pieces_that_read_it)/
test_a_clean_swift_only_push_runs_only_the_pieces_that_read_it (main.WebLintPrePush
Tests.test_a_clean_swift_only_push_runs_only_the_pieces_that_read_it)
View Logs
test_a_clone_with_no_reviewed_remote_lints_no_check_code (main.WebLintPrePushTests.
test_a_clone_with_no_reviewed_remote_lints_no_check_code)/
test_a_clone_with_no_reviewed_remote_lints_no_check_code (main.WebLintPrePushTests.
test_a_clone_with_no_reviewed_remote_lints_no_check_code)
View Logs
test_a_dry_run_lists_exactly_what_a_run_spawns (main.WebLintPrePushTests.test_a_dry
_run_lists_exactly_what_a_run_spawns)/
test_a_dry_run_lists_exactly_what_a_run_spawns (main.WebLintPrePushTests.test_a_dry
_run_lists_exactly_what_a_run_spawns)
View Logs
test_a_file_in_a_folder_above_a_package_is_check_code (main.WebLintPrePushTests.tes
t_a_file_in_a_folder_above_a_package_is_check_code)/
test_a_file_in_a_folder_above_a_package_is_check_code (main.WebLintPrePushTests.tes
t_a_file_in_a_folder_above_a_package_is_check_code)
View Logs

...and 26 more test failures. View all on Blacksmith

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

#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 teamleaderleo left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Copy Markdown
Collaborator Author

Review (codex gpt-6-astra high, sweep, via the review router; full diff from merge base a09def6 to this head): SHIP at 840cbbc

No P1/P2 findings.

@cmux-bot
cmux-bot Bot temporarily deployed to ci-routing-agent November 3, 2026 21:07 Inactive
@cmux-bot
cmux-bot Bot temporarily deployed to ci-routing-agent November 3, 2026 21:08 Inactive

@teamleaderleo teamleaderleo left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@cmux-bot
cmux-bot Bot temporarily deployed to ci-routing-agent November 3, 2026 22:32 Inactive
@cmux-bot
cmux-bot Bot temporarily deployed to ci-routing-agent November 3, 2026 22:33 Inactive

@teamleaderleo teamleaderleo left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@cmux-bot
cmux-bot Bot temporarily deployed to ci-routing-agent November 4, 2026 00:26 Inactive
…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
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

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

@teamleaderleo
teamleaderleo merged commit 4253a27 into feat-cmux-next Nov 4, 2026
188 of 196 checks passed
@teamleaderleo
teamleaderleo deleted the base-red-gallery-sent-rows branch November 4, 2026 01:46
teamleaderleo added a commit that referenced this pull request Nov 4, 2026
…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>

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 0fbf9043 Deployed Nov 4, 2026 by teamleaderleo via cmux-tui tree preflight #108275
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