Skip to content

fix(agent-pane): a sent message shows once when its row is open - #27305

Merged
teamleaderleo merged 1 commit into
feat-cmux-nextfrom
lane/orch-sent-once
Oct 29, 2026
Merged

teamleaderleo merged 1 commit into
feat-cmux-nextfrom
lane/orch-sent-once

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 29, 2026 •

Copy link
Copy Markdown
Collaborator

Leo, 2026-10-29, on a sub-session's "Sent message to …" row: "this rendering can be better for sent stuff".

His screenshot showed the open row saying the message twice in a row: the row's muted first line ("Sent message to · started a turn From …, correction for #… the exact head is ae139…") and then the whole message under it. It's the same doubling #27240 removed from the start card, here on the send row.

Change

SentMessageLine.tsx is the one row both a sub-session send_message and a shell acpmux send draw:

  • Shut: unchanged. "Sent message to · " plus the message's first line, muted.
  • Open: the row keeps only "Sent message to · " (started a turn / queued / read at its next step). The message shows once, as Markdown under it. Raw stays the quiet disclosure under the body.
  • The gallery-only quote look drops its quoted line while open as well. The arrow look is untouched (its line is the message, and it is a gallery version only).

Nothing else changes: no default, no component removed, same disclosure state (useTranscriptDisclosure), and Find in Chat still opens the row and Raw.

Tests

SentMessageLine.test.tsx:

  • the open row's text is exactly "Sent message to coord-deputy · queued", with no .cv-sent__preview;
  • closing the row brings the first line back;
  • the quote look drops its quoted line while open.

15 pass locally, and bun run check (format, lint, typecheck, protocol) passes.

Capture

Linux gallery agent-pane.sent-message-rows / recorded-file, the send row opened (dark, w760):

Before After
before after

Before: "Sent message to reports:leo · queued Recorded report", then "Recorded report" again as the body's heading. After: the row stops at "· queued", and the message shows once.

Agent session: agent session

🤖 Generated with Claude Code

Leo, 2026-10-29: "this rendering can be better for sent stuff". The open row drew
the message's first line on the row and the whole message under it. Open, the
row now keeps only its sentence and delivery; shut, it keeps the first line.

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

github-actions Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

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

Review 90892d8: 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=pr27305 -f ref=lane/orch-sent-once -f platform=macos -f backend_mode=local

Unclear: web / react-apps-check failed: no known signature; failed step: Check webview test shards.

CI failed on 90892d80f3 (run 40837607027 attempt 1): 2 code, 1 unknown.

Job Verdict Why
web / react-apps-base-check (1) code a web test failed
web / react-apps-base-check (2) code a web test failed
web / react-apps-check unknown no known signature; failed step: Check webview test shards

Failures:

  • seen on other PRs markdown-table-obsidian.test.ts markdown tables (webkit) > a drag across cells selects text from the press to the pointer, not whole...: failed (job)
  • seen on other PRs motion-scale.test.ts motion scale > no webview CSS, TS or TSX animates off the scale: failed (job)
  • seen on other PRs running-strip.test.ts hover fills the whole line to the tray's edges, its stop button inside, with the hand: failed (job)
  • seen on other PRs chiefLook.test.tsx search renders Bubble Style in the Look card: failed (job)
  • seen on other PRs rowSummary.test.tsx no description line on any Settings page is over 60 characters, in any language: failed (job)
  • seen on other PRs rowSummary.test.tsx every schema summary fits 60 characters in every language: failed (job)
  • seen on other PRs agent-pane-pending-steer.test.tsx Send now on a waiting steer asks queue_edit send_now for its promptId, and goes once it is read: failed (job)
  • seen on other PRs clickable-cursor.test.ts no stylesheet sets the arrow or auto on a clickable element: failed (job)
Matched log lines
web / react-apps-base-check (1): (fail) markdown tables (webkit) > a drag across cells selects text from the press to the pointer, not whole cells [662.86ms]
web / react-apps-base-check (2): (fail) search renders Bubble Style in the Look card [3988.04ms]

Not re-run automatically: web / react-apps-base-check (1), web / react-apps-base-check (2), web / react-apps-check are not machine failures.

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.

red: cmux-next checks (god files, concurrency, crash safety, l10n); base red: the same failure on the base a2cee9c; does not block
red: web / Web status; base red: the same failure on the base a2cee9c; does not block
red: web / react-apps-base-check (1); no finished base run on a2cee9c to compare; do not merge until green; see lane-rules
red: web / react-apps-base-check (2); no finished base run on a2cee9c to compare; do not merge until green; see lane-rules
red: web / react-apps-check; base red: the same failure on the base a2cee9c; does not block

Gallery before/after for 90892d8: 16 states rendered, 18 images differ, 612 more touched states not rendered. Images are in the run's artifact, not on this public PR.

gh run download 40837606920 -R manaflow-ai/cmux -n gallery-advisory-27305-90892d80f3e09f7add4ab6c14a91f1ddbde88c32 (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.sent-message-rows/sent Apple System Colors Light changed 0% own SentMessageLine.tsx
agent-pane.sent-message-rows/sent Apple System Colors changed 0% own SentMessageLine.tsx
agent-pane.sent-message-rows/with-preview Apple System Colors changed 9.27% own SentMessageLine.tsx
agent-pane.sent-message-rows/with-preview Apple System Colors Light changed 0.054% own SentMessageLine.tsx
agent-pane.sent-message-rows/recorded-file Apple System Colors Light changed 0.105% own SentMessageLine.tsx
agent-pane.sent-message-rows/recorded-file Apple System Colors changed 0.105% own SentMessageLine.tsx
agent-pane.sent-message-rows/failed Apple System Colors Light changed 0.0001% own SentMessageLine.tsx
agent-pane.sent-message-rows/failed Apple System Colors changed 0.0001% own SentMessageLine.tsx
agent-pane.sent-message-rows/running-row Apple System Colors Light changed 0.0087% own SentMessageLine.tsx
agent-pane.sent-message-rows/running-row Apple System Colors changed 0.0076% own SentMessageLine.tsx
agent-pane.sent-message-rows/look-arrow Apple System Colors Light changed 0% own SentMessageLine.tsx
agent-pane.sent-message-rows/look-arrow Apple System Colors changed 0% own SentMessageLine.tsx
agent-pane.sent-message-rows/look-quote Apple System Colors changed 1.01% own SentMessageLine.tsx
agent-pane.sent-message-rows/look-quote Apple System Colors Light changed 0.433% own SentMessageLine.tsx
agent-pane.transcript/conversation Apple System Colors Light unchanged 0% names SentMessageLine.tsx
agent-pane.transcript/conversation Apple System Colors unchanged 0% names SentMessageLine.tsx
agent-pane.transcript/footer-actions-left Apple System Colors Light unchanged 0% names SentMessageLine.tsx
agent-pane.transcript/footer-actions-left Apple System Colors unchanged 0% names SentMessageLine.tsx
agent-pane.transcript/footer-actions-right Apple System Colors Light unchanged 0% names SentMessageLine.tsx
agent-pane.transcript/footer-actions-right Apple System Colors unchanged 0% names SentMessageLine.tsx
agent-pane.transcript/github-references Apple System Colors Light unchanged 0% names SentMessageLine.tsx
agent-pane.transcript/github-references Apple System Colors unchanged 0% names SentMessageLine.tsx
agent-pane.transcript/github-references-other-repo Apple System Colors Light changed 0% names SentMessageLine.tsx
agent-pane.transcript/github-references-other-repo Apple System Colors unchanged 0% names SentMessageLine.tsx
agent-pane.transcript/github-references-same-number Apple System Colors Light changed 0% names SentMessageLine.tsx
agent-pane.transcript/github-references-same-number Apple System Colors unchanged 0% names SentMessageLine.tsx
agent-pane.transcript/tasks Apple System Colors Light unchanged 0% names SentMessageLine.tsx
agent-pane.transcript/tasks Apple System Colors unchanged 0% names SentMessageLine.tsx
agent-pane.transcript/thinking Apple System Colors Light changed 0.051% names SentMessageLine.tsx
agent-pane.transcript/thinking Apple System Colors changed 0.0273% names SentMessageLine.tsx
agent-pane.chat-width/standard Apple System Colors Light unchanged 0% imports SentMessageLine.tsx (1 hops)
agent-pane.chat-width/standard Apple System Colors unchanged 0% imports SentMessageLine.tsx (1 hops)

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

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

blacksmith-sh Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Found 21 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmp573xg1q5/summary-fail.json (live):/summary-fail.json (live): View Logs
/tmp/tmp61elgdx1/summary-missing.json (live):/summary-missing.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
src/pages/settings/chiefLook.test.tsx/chiefLook.test.tsx View Logs
src/pages/settings/chiefLook.test.tsx/chiefLook.test.tsx View Logs
src/pages/settings/rowSummary.test.tsx/rowSummary.test.tsx View Logs
src/pages/settings/rowSummary.test.tsx/rowSummary.test.tsx View Logs

...and 11 more test failures. View all on Blacksmith: run 40837607027, run 40837607280

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

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Bead cx-mn2qbg created for this PR by the cmux coordinator.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex gpt-6-astra): SHIP at 90892d8

  • P3 — Quote test only proves disappearance. webviews/src/agent-session/acpmux/conversation/SentMessageLine.test.tsx:148 checks that the preview disappears, but would also pass if quote mode lost the expanded message. Assert that .cv-subsession__markdown contains the full message, then collapse and assert the quote returns. Nonblocking: the sentence test already verifies the shared body renders.

No P1/P2 findings. At SentMessageLine.tsx:145, preview suppression uses the same open && text condition that renders the body at lines 210–214. Undefined text loses nothing; failed sends retain their body and Raw output; ended sends retain their body. Both callers use this shared rendering.

Find still opens the row and Raw. Keyboard handling, aria-expanded, and aria-controls remain intact. The fixed-width grid and nonwrapping label prevent preview removal from moving the chevron or changing header height. Translation keys and placeholders are unchanged; arrow mode remains untouched. Existing gallery selectors remain valid.

Static review only: Bun and dependencies are unavailable, so I did not execute tests or browser/gallery checks.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Base-red evidence for the web shards at 90892d8. Every annotated failure was run locally (Node 24, bun, CMUX_BROWSER_TESTS=1 with Playwright chromium and webkit) on base 66f4014f7e2 and on this head merged onto it (9f3f9d02a5f).

This PR changes only SentMessageLine.tsx and its test. No failing test is its own.

@teamleaderleo
teamleaderleo merged commit 040ae3f into feat-cmux-next Oct 29, 2026
193 of 209 checks passed
@teamleaderleo
teamleaderleo deleted the lane/orch-sent-once branch October 29, 2026 08:58
@github-actions

Copy link
Copy Markdown
Contributor

The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/40846020150 at 040ae3f failed: cmux-next checks (god files, concurrency, crash safety, l10n).
Those jobs last passed at d65a680. This pull request is one of 1 merged since: #27305.
If the failure is in your change, fix forward on feat-cmux-next. Pull requests run only the tiers their paths reach (docs/ci/cmux-next-tiers.md); label a batch PR full-ci to run them all before merging.

@github-actions

github-actions Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 90892d80 Deployed Oct 29, 2026 by teamleaderleo via wait for same-key tree publisher #75636
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