Repository navigation
Agent chat: compact, consistent message actions - #26374
teamleaderleo wants to merge 4 commits into
Conversation
|
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; NEW: green on the base 3e56d06; do not merge until green; see lane-rules |
|
Owned by an agent session · took over from an earlier session · session |
|
Bead |
|
Found 98 test failures on Blacksmith runners: Failures
...and 88 more test failures. View all on Blacksmith: run 40592339640, run 40592339676
|
|
Orphaned: no activity for 15 h, and no lane holds a lease on it. The orphan sweep could not merge |
|
Superseded by #27252, which landed the shared message footer row (MessageFooterRow: one 24px row for sent, received and reply messages, equal control slots, 16px glyphs, full-slot Retry chevron) that this PR set out to fix; #29124 and #31609 build on it. The SF Symbol icon rendering here was extra to the original ask and, if still wanted, belongs in a small new PR on top of MessageFooterRow. |
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Message controls now share one compact action row: 24px hit targets, 16px glyphs, and no negative margin between Retry and its model chevron. User prompts, assistant footers, received messages and sent messages use the same component. Native pages ask the existing validated
harness.symbolimage cache for actual SF Symbols; galleries and older hosts use the icon-catalog fallback in the same box.Leo, 2026-10-27: "why is the copy button and the refresh button so far apart?" and "not ... evenly spaced, compact, unified, concise, simple, well-placed".
The layout follows the compact controls in the Claude Code action-row reference. No new motion or menu timing. Open model menus keep the shared row visible.
Gallery:
agent-pane.message-action-row(compact,narrow). Captures use public-safe fixture text and the catalog fallback; they prove geometry, not native SF rasterization.Validation: the Chromium regression first failed at 08720fc because Retry's chevron target was 14px rather than 24px. The same command now passes 2 tests / 51 assertions, including keyboard Retry and another-model selection. The SF-symbol cache and existing user-action tests pass 16 tests / 72 assertions.
bun run checkalso passes (format, lint, 2,887-file typecheck and protocol checks). Gallery coverage has exactly the same two failing assertions and finding lists on base and head; the new components are covered. Existing native localization baseline drift makesverify-local.pyred in untouched catalogs; this change adds no shipped strings.Coordination: this leaves the generic floating-copy removal/right-padding repair to #26096 and the PR pills to #26082. Queued/received presentation is nx-chat's separate work. This PR preserves their action callbacks and does not change IncomingMessageCard or QueuedMessageCard.
Status: exact-head Codex xhigh review and CI reconciliation are pending with nx-chat; do not merge before that receipt.
Changelog
Fixed: Message copy, retry and other actions use compact, evenly spaced controls with native SF Symbols.
Agent session: agent session