Skip to content

Agent pane: a task's "Received message from" line sits at the left with the agent's text, no gap above - #23925

Merged
teamleaderleo merged 1 commit into
feat-cmux-nextfrom
agent-received-left
Oct 22, 2026
Merged

teamleaderleo merged 1 commit into
feat-cmux-nextfrom
agent-received-left

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

In progress. Leo-ask: ask-f55c0db9bf

A started task's result line ("Received message from <title> ›", ReceivedResult) drew at the RIGHT edge with a tall empty band above it, still live in nightly ceb44fc. Now:

  • Left, with the agent's text. The line sits in a user row, whose flex row puts content at the right; it now takes the row's width (flex: 1), so it starts where the agent's text starts.
  • Styled like another agent's message line (Agent pane: another agent's message is a left line with the sender's chip, a preview and a glass card #23727): a small bot icon first, and the task's title as a glass chip (the theme's text at 10% over glass, a hairline rim) instead of an underlined link. Clicking still opens that task's chat.
  • No band above it. A turn's footer before another agent's line (a message, a notice or a task's result) ends at the 8px message gap instead of the 24px turn gap, as the chat's last footer does (isLastFooter, model.ts). The person's prompt after a footer still starts a new turn with the full gap.

Tests

  • rowEstimates.test.ts: a footer over a task's result, an agent message or a notice is 32px (24 + 8); before a person's prompt it stays 48px.
  • The browser tests in webviews/test/agent-pane-suggested-tasks.test.ts keep the line's text ("Received message from" and the title).

Observed / Not run

  • Ran: vp fmt, prepush-gate.py (no new violations).
  • Not run here: bun tests and the type check (they run on huge-blue and in CI; this Mac does not run them).

Changelog

Fixed: A started task's "Received message from" line sits at the left with the agent's text, with a bot icon and the task's name as a chip, and no tall gap above it.

Agent session: cosmic-gray

🤖 Generated with Claude Code


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


Summary by cubic

Adds a bot icon and renders a started task's "Received message from" line at the left with the agent's text, styling the task title as a glass chip instead of an underlined link. Previously the line drew at the right edge like the person's bubble.

Removes the tall band above that line: a turn's footer before another agent's line (a message, a notice, or a task's result) now ends at the 8px message gap instead of the 24px turn gap. The person's prompt after a footer still starts a new turn with the full gap.

Written for commit 8847a61. Summary will update on new commits.

View guided diff Turn on auto-fix

…ft with the agent's text, with no turn gap above it

The line a started task's result draws ("Received message from <title> ›") is a user row, whose
flex row puts its content at the right, and the line did not take the row's width: it drew at the
right edge like the person's bubble. It now fills the row, so it starts at the agent's text, with
a small bot first and the title as a glass chip, as another agent's message line does.

A turn's footer closed with the 24px turn gap before it, which left a tall band over the line. A
footer over another agent's line (a message, a notice or a task's result) now ends at the 8px
message gap, as the chat's last footer does; the person's prompt still starts a new turn.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a16028-eee2-75a1-b075-2e4023976100&host=cosmic-gray
@teamleaderleo teamleaderleo added the risk:low Risk tier (docs/ci/risk-tiers.md) label Oct 22, 2026
@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

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

Review 8847a61: 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=pr23925 -f ref=agent-received-left -f platform=macos -f backend_mode=local

Unclear: web / react-apps-check (4) failed: no known signature; failed step: Build the web bundles. This PR merged before its CI finished: fix forward on main.

CI failed on 8847a6109d (run 39700203354 attempt 1): 5 unknown.

Job Verdict Why
web / react-apps-check (4) unknown no known signature; failed step: Build the web bundles
web / react-apps-check (1) unknown no known signature; failed step: Build the web bundles
web / react-apps-check (3) unknown no known signature; failed step: Build the web bundles
web / react-apps-check (2) unknown no known signature; failed step: Build the web bundles
web / react-apps-check unknown no known signature; failed step: Check webview test shards

Not re-run automatically: web / react-apps-check (4), web / react-apps-check (1), web / react-apps-check (3), web / react-apps-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: web / Web status; base red: the same failure on the base fcacd19; does not block
red: web / react-apps-check; base red: the same failure on the base fcacd19; does not block
red: web / react-apps-check (1); base red: the same failure on the base fcacd19; does not block
red: web / react-apps-check (2); base red: the same failure on the base fcacd19; does not block
red: web / react-apps-check (3); base red: the same failure on the base fcacd19; does not block
red: web / react-apps-check (4); base red: the same failure on the base fcacd19; does not block

Tour of 8847a6109d (run): no media. The tour did not run: only webview code changed (4 path(s)), which the gallery advisory run checks in Linux Chromium on the pull request (its artifact holds any captures); add the media-tour-mac label to tour it on a Mac.

Gallery before/after for 8847a61: 16 states rendered, 6 images differ, 1505 more touched states not rendered. Images are in the run's artifact, not on this public PR.

gh run download 39700203190 -R manaflow-ai/cmux -n gallery-advisory-23925-8847a6109d983f64eb7890fc3b76968ecc64f134 (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.suggested-tasks/open Apple System Colors Light unchanged 0% own SuggestedTasks.tsx
agent-pane.suggested-tasks/open Apple System Colors unchanged 0% own SuggestedTasks.tsx
agent-pane.suggested-tasks/start-all Apple System Colors Light unchanged 0% own SuggestedTasks.tsx
agent-pane.suggested-tasks/start-all Apple System Colors unchanged 0% own SuggestedTasks.tsx
agent-pane.suggested-tasks/single Apple System Colors Light unchanged 0% own SuggestedTasks.tsx
agent-pane.suggested-tasks/single Apple System Colors unchanged 0% own SuggestedTasks.tsx
agent-pane.suggested-tasks/single-started Apple System Colors Light unchanged 0% own SuggestedTasks.tsx
agent-pane.suggested-tasks/single-started Apple System Colors unchanged 0% own SuggestedTasks.tsx
agent-pane.suggested-tasks/started Apple System Colors Light unchanged 0% own SuggestedTasks.tsx
agent-pane.suggested-tasks/started Apple System Colors unchanged 0% own SuggestedTasks.tsx
agent-pane.suggested-tasks/received Apple System Colors Light changed 6.63% own SuggestedTasks.tsx
agent-pane.suggested-tasks/received Apple System Colors changed 6.46% own SuggestedTasks.tsx
agent-pane.suggested-tasks/worktree Apple System Colors Light unchanged 0% own SuggestedTasks.tsx
agent-pane.suggested-tasks/worktree Apple System Colors unchanged 0% own SuggestedTasks.tsx
agent-pane.suggested-tasks/refused Apple System Colors Light unchanged 0% own SuggestedTasks.tsx
agent-pane.suggested-tasks/refused Apple System Colors unchanged 0% own SuggestedTasks.tsx
agent-pane.agent-message-row/sent Apple System Colors changed 0.014% imports model.ts (1 hops)
agent-pane.agent-message-row/sent Apple System Colors Light unchanged 0% imports model.ts (1 hops)
agent-pane.agent-message-row/sent-opened Apple System Colors Light changed 0.0001% imports model.ts (1 hops)
agent-pane.agent-message-row/sent-opened Apple System Colors changed 0.0001% imports model.ts (1 hops)
agent-pane.agent-message-row/both-directions Apple System Colors Light unchanged 0% imports model.ts (1 hops)
agent-pane.agent-message-row/both-directions Apple System Colors unchanged 0% imports model.ts (1 hops)
agent-pane.agent-message-row/both-directions-opened Apple System Colors changed 0% imports model.ts (1 hops)
agent-pane.agent-message-row/both-directions-opened Apple System Colors Light unchanged 0% imports model.ts (1 hops)
agent-pane.agent-pair-note/paused Apple System Colors Light unchanged 0% imports model.ts (1 hops)
agent-pane.agent-pair-note/paused Apple System Colors unchanged 0% imports model.ts (1 hops)
agent-pane.agent-pair-note/held-list Apple System Colors Light unchanged 0% imports model.ts (1 hops)
agent-pane.agent-pair-note/held-list Apple System Colors unchanged 0% imports model.ts (1 hops)
agent-pane.agent-pair-note/repeating Apple System Colors Light unchanged 0% imports model.ts (1 hops)
agent-pane.agent-pair-note/repeating Apple System Colors unchanged 0% imports model.ts (1 hops)
agent-pane.agent-pair-note/cap Apple System Colors Light unchanged 0% imports model.ts (1 hops)
agent-pane.agent-pair-note/cap Apple System Colors unchanged 0% imports model.ts (1 hops)

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

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by agent-message-style on cosmic-gray · session

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by agent-message-style on cosmic-gray · session

@github-actions github-actions Bot added risk:normal Risk tier (docs/ci/risk-tiers.md) and removed risk:low Risk tier (docs/ci/risk-tiers.md) labels Oct 22, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

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

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent, correctness first): SHIP at 8847a61

  • Model heights match CSS: a delivered result is 26+8; a footer over a result, message or notice is 24+8 (.acpmux-row--last-footer); App.tsx and rowEdge both use nextDrawnRow; the layout cache re-places the footer when its next row changes.
  • :last-child (chevron) rule unaffected by the new first-child icon; no other last-footer users depend on "chat's last row".
  • Nits (follow-up): a queued result (offerResult row) keeps the 24px gap until it lands; App.tsx lastFooter prop comment still says "chat's last footer".

Verification: huge-blue bun test rowEstimates.test.ts 14/14 pass, tsc --noEmit clean at this head. Fleet cmux-ci compile-check --app fails in 5 s with product 'CmuxSentryReporting' … not found, identically at base 25daac5 (base red, not this PR).

@teamleaderleo
teamleaderleo merged commit 16d7a80 into feat-cmux-next Oct 22, 2026
@teamleaderleo
teamleaderleo deleted the agent-received-left branch October 22, 2026 00:47
@github-actions

Copy link
Copy Markdown
Contributor

Shipped in:

@github-actions

Copy link
Copy Markdown
Contributor

Shipped in:

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