cmux-next agent pane: received agent messages are one "Received message from" line; nothing auto-folds
Another agent's message in a chat now draws as Claude desktop draws it: one quiet line, "Received message from ›". The name opens the sender's chat when it is one here, and › opens the message in place under the line. It is never a prompt bubble.
A received message shows no "Steered · the agent read it" line.
Not in this PR: lane reports sent with acpmux send carry no provenance, so they still draw as the person's bubbles. The client name can't tell them apart (the acpmux TUI and peer forwarding use the same acpmux-cli / acpmux-peer names), so the daemon will stamp the proven calling session on the prompt in a follow-up PR, and this line will draw it.
Messages that arrive mid-turn no longer fold the agent's earlier replies into "N previous messages". A received message is a prompt, so it starts a turn, and the turn before it has no summary yet. turns.ts settledWithoutSummary folded that turn away. Now a turn without a summary that a later prompt follows draws as it came. Only the person folds anything.
Changes
IncomingMessageCard.tsx:IncomingMessageLinereplaces the card. It reuses the localizedoffer.receivedstring. The open state lasts for the page, so it survives the virtualized transcript remounting the row. Images and a steer's read state still show under the line.turns.ts: a turn without a summary draws its rows in place (typing placeholders dropped, plans ended); its edits still close it as one card with Undo.- Find in Chat opens a closed message that holds its match. The open state is keyed by chat and row.
model.ts: the line's 26 px estimate.conversation.css: the line's styles, with no hover box (the name's underline and the chevron brighten).- Gallery
agent-pane.incoming-message: newopenedandmid-turnvariants. These are the visual proof (Linux gallery run). - Overlap: open #22310 (Reply in place on the card) is stacked on the card this replaces. Its Reply belongs in the opened line's body; I'll tell its owner.
Changelog
- Changed: Another agent's message in a chat is one "Received message from …" line that opens in place, and earlier replies no longer fold into "N previous messages" when a message arrives.
Testing
Regression command: cd webviews && bun test test/transcript-received-messages.test.ts
- Base (commit de0ccfd8, test only): 2 fail. The earlier turn draws as
worked:worked-u1and carriesprevious. - Head: 2 pass.
Observed / Not run
- Observed:
bun testpassed ontest/transcript-*(30 files, 94 pass, 0 fail) and on the regression test.bun run checkpassed on the type scale, layers, focus-ring and dialog checks,vp fmtandvp check --no-fmt(0 errors; my two a11y warnings fixed). These ran in a local checkout of an older base with the same edits, because local git on cosmic-gray was stalled. The commits were made through the GitHub API on base 27bc8e1a. - Not run locally: the browser tests in
test/agent-pane-suggested-tasks.test.ts("messages from other agents"; updated for the line). Chromium isn't installed here, so they skip; CI's browser lane runs them. The pre-push gate didn't run because these commits weren't pushed through git.
Agent session: cosmic-gray
🤖 Generated with Claude Code