Agent pane: another agent's message is a left line with the sender's chip, a preview and a glass card
In progress: the first fix (the row itself) is in this commit; capture and review follow.
Leo on nightly 3a63d6d: the "Received message from coord-deputy ›" row sat centered, unstyled, with no icon, and its name didn't open that chat. Opened, it was a bare quote bar.
What changes:
- Left-aligned, like the tool rows. The message's row is a user row (
.acpmux-useraligns to the end), and.cv-incomingdidn't take the row's width, so the line and its invisible hover actions were pushed toward the right..cv-incomingnow fills the row, and the line draws in the tool rows' columns: icon at the left, 26px tall, in the rows' font. - Icon and name chip. The sender's harness mark (
AgentMark) when the session list knows it, else a new small bot icon. The sender's name is a glass chip (theme text over transparent plus a hairline rim, with an accent ring on hover and focus). - The chip opens the sender's chat. It uses the message's own session id when it has one. Otherwise it uses the listed chat with that name (
SubsessionStore.find, which looks at name, short name and title, and prefers live chats over archived ones). A message sent withacpmux sendfrom a shell (from: cli) names only its sender, which is why the chip used to be dead. - Collapsed by default, one-line preview. The rest of the line is the message's first line, cut with an ellipsis, and a chevron. Clicking it opens the message.
- Opened, a compact glass card. The text is drawn with the transcript's
Markdown, so lists, code and PR/issue refs get styled and linked, using the row's repository for a bare#N. Details (the raw envelope) and Reply stay under it.
Tests: subsessions.test.ts covers the sender lookup by name, archived vs live, harness, and no extra notifies. incomingMessage.test.ts covers the preview.
Next on this lane, in follow-ups: hq#N and SHA chips, the "from X" row for queued agent messages, burst stacking, and parsing the raw [name] text form in live prompts.
Capture: webview UI. Gallery before/after (agent-pane.incoming-message) is coming in a comment.
Agent session: cosmic-gray
🤖 Generated with Claude Code
![View with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Fixes the agent pane's received-message row so another agent's message reads as one left-aligned line among the tool rows, instead of sitting centered and unstyled.
- Draws the sender's harness mark (or a small bot icon) and the sender's name as a glass chip that opens the sender's chat; a message sent from a shell names only its sender, so the chip looks up the listed chat by name (name or short name, not title), preferring live chats over archived. The lookup has its own listeners, so a rename doesn't notify unrelated cards.
- Shows the message's first line as an ellipsized preview with Markdown marks dropped; opened, it renders as a compact glass card with Markdown, linking PR, issue, and file references.
- Adds a preview helper and tests for the sender lookup and the closed-line preview.