Skip to content

Agent chat: link chips never grow when their title loads; tighter PR hover card with state pills - #23746

Merged
teamleaderleo merged 7 commits into
feat-cmux-nextfrom
link-chip-card
Oct 22, 2026
Merged

teamleaderleo merged 7 commits into
feat-cmux-nextfrom
link-chip-card

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Two fixes to GitHub link chips and their hover card in agent replies, from Leo's review of the chat.

A chip never grows when its title loads. After Leo hovered [#22896](…), the chip grew inline from #22896 to #22896 · cmux-next updates: pulled-build banner (…) and reflowed the paragraph. A chip's text and icon are now fixed when it first draws. A PR chip no longer appends the title, and a bare address no longer swaps to the site's title and favicon once cmux has them. Titles and favicons live only in the hover card. Tests: link-cards.test.tsx has four new cases. They fail on base (6 pass / 4 fail) and pass with the fix; one of them checks the chip's HTML is unchanged after the store gets the title.

The hover card, per Leo's spec.

  • The state is the glyph's colour alone: open green, merged purple, closed red, draft grey. No pill and no state word.
  • Open and Open in are quiet and borderless, with only a hover background.
  • Less padding (8 px by 10 px), no divider under the head, no footer URL. A plain web link shows its masked address only when it says more than the host.
  • Merged and closed PRs hide checks and conflicts. An open PR shows a small ✓/✗/◷ count, with a screen-reader sentence; the ✗ is muted when every failing check is also red on the base branch (PR card: a red the base already has reads "also red on base" #23644's checks.failingOnBase and checkList[].onBase).
  • No dotted underline on +905 −50.
  • The card sits on the shared liquid glass (.ui-glass, from cmux NEXT: composer, messages, menus, cards and the Inspector are liquid glass #23477), never an opaque fill.

Takes back #23644: Leo's card spec replaces the open PR's checks list with small ✓/✗ counts and hides checks on merged and closed PRs. #23644's base-red data (checks.failingOnBase, checkList[].onBase) is kept and drives the muted ✗.

Gallery: url-chip variants pull-request, pull-request-merged-base-reds and pull-request-closed.

Observed / Not run

  • cmux16 at 3c41ba3: 52 webview tests pass (link-cards, url-chip-hover, agent-pane-no-capsules and the chip/card suites), and bun run check passes. cmux-ci compile-check --app passed.
  • CI caught pr-hover-card.test.tsx still asserting the old tooltip background after cmux NEXT: composer, messages, menus, cards and the Inspector are liquid glass #23477 moved the card to .ui-glass. The test now pins the ui-glass class and the glass token fallback.
  • Not run: the browser-lane tests run on CI only. Not seen live in a tagged build.

No capture: webview-only UI; the gallery advisory run captures it.

Changelog

Changed: GitHub link chips in agent replies keep their size when titles load, and their hover card is quieter: state by glyph colour, borderless buttons, check counts only on open PRs.

🤖 Generated with Claude Code

Agent session: cosmic-gray

teamleaderleo and others added 3 commits October 21, 2026 13:58
…le loads (red)

[#22896](…/pull/22896) grew inline into "#22896 · cmux-next updates: …" once
the page title came in, reflowing the paragraph. These fail on the base: the
chip's text and icon must not change after metadata arrives.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a1602e-25ea-7611-8c79-d16df0c4058f&host=cosmic-gray
…irst draws

A pull request chip no longer appends its title (cv-chip__title), and a bare
address no longer swaps to the site's title and favicon once cmux learns them.
Both now show only in the hover card, so a hover or a late lookup never widens
the chip and reflows the reply.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a1602e-25ea-7611-8c79-d16df0c4058f&host=cosmic-gray
…base-red checks

Leo: "the styling/layout/spacing could be a bit better". The card's head is
one compact row: the favicon or GitHub mark inline beside the title (a pull
request's own title, cut to two lines), then Open and Open in. A pull request
card drops the github.com address footer; a web link keeps its masked address
under the title. One 12px inset and 8px between rows. The state is a pill
tinted in its colour (open green, merged purple, closed red). Checks whose
failures all fail on the base branch read muted "N failing (base)"; some of
them read "N failing, M on base". The pr.inspect answer gains an optional
failingOnBase, which the host does not send yet. Gallery: merged-with-base-reds
and closed pull request states.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a1602e-25ea-7611-8c79-d16df0c4058f&host=cosmic-gray
@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

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

Review b8cddc9: 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=pr23746 -f ref=link-chip-card -f platform=macos -f backend_mode=local

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

gh run download 39701850586 -R manaflow-ai/cmux -n gallery-advisory-23746-b8cddc97866af42fe8cc9d4417f0980ae906d962 (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.add-project-panel/environment Apple System Colors Light unchanged 0% own styles.css
agent-pane.add-project-panel/environment Apple System Colors unchanged 0% own styles.css
agent-pane.add-project-panel/sources Apple System Colors Light unchanged 0% own styles.css
agent-pane.add-project-panel/sources Apple System Colors unchanged 0% own styles.css
agent-pane.add-project-panel/directory Apple System Colors Light unchanged 0% own styles.css
agent-pane.add-project-panel/directory Apple System Colors unchanged 0% own styles.css
agent-pane.add-project-panel/keyboard Apple System Colors Light unchanged 0% own styles.css
agent-pane.add-project-panel/keyboard Apple System Colors unchanged 0% own styles.css
agent-pane.changes-file-menu/closed Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-file-menu/closed Apple System Colors unchanged 0% own styles.css
agent-pane.changes-file-menu/open Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-file-menu/open Apple System Colors unchanged 0% own styles.css
agent-pane.changes-file-menu/keyboard Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-file-menu/keyboard Apple System Colors unchanged 0% own styles.css
agent-pane.changes-git-actions/toolbar Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-git-actions/toolbar Apple System Colors unchanged 0% own styles.css
agent-pane.changes-git-actions/commit-form Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-git-actions/commit-form Apple System Colors unchanged 0% own styles.css
agent-pane.changes-git-actions/include-new Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-git-actions/include-new Apple System Colors unchanged 0% own styles.css
agent-pane.changes-git-actions/keyboard Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-git-actions/keyboard Apple System Colors unchanged 0% own styles.css
agent-pane.changes-git-actions/busy Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-git-actions/busy Apple System Colors unchanged 0% own styles.css
agent-pane.changes-git-actions/push-refused Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-git-actions/push-refused Apple System Colors unchanged 0% own styles.css
agent-pane.changes-options-menu/closed Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-options-menu/closed Apple System Colors unchanged 0% own styles.css
agent-pane.changes-options-menu/open Apple System Colors Light changed 0% own styles.css
agent-pane.changes-options-menu/open Apple System Colors changed 0% own styles.css
agent-pane.changes-options-menu/keyboard Apple System Colors Light unchanged 0% own styles.css
agent-pane.changes-options-menu/keyboard Apple System Colors unchanged 0% own styles.css

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

Unclear: web / react-apps-check (2) failed: no known signature; failed step: Build the web bundles.

CI failed on b8cddc9786 (run 39701850418 attempt 1): 5 unknown.

Job Verdict Why
web / react-apps-check (2) 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 (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 unknown no known signature; failed step: Check webview test shards

Not re-run automatically: web / react-apps-check (2), web / react-apps-check (3), web / react-apps-check (4), web / react-apps-check (1), 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 cc945e2; does not block
red: web / react-apps-check; base red: the same failure on the base cc945e2; does not block
red: web / react-apps-check (1); NEW: green on the base cc945e2; do not merge until green; see lane-rules
red: web / react-apps-check (2); NEW: step Build the web bundles passes on the base cc945e2; do not merge until green; see lane-rules
red: web / react-apps-check (3); NEW: green on the base cc945e2; do not merge until green; see lane-rules
red: web / react-apps-check (4); NEW: step Build the web bundles passes on the base cc945e2; do not merge until green; see lane-rules

CI fast guards failed on f879bfecc0 (https://github.com/manaflow-ai/cmux/actions/runs/39682336322). It does not block the merge; a red guard merged into main breaks it for every open PR.
The log named no failed step; see the run.

Agents: python3 scripts/ci/guard_attribution.py fix applies the mechanical fixes locally.

Tour of b8cddc9786 (run): no media. The tour did not run: only webview code changed (11 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, then re-add media-tour, to tour it on a Mac.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by inline-media on cosmic-gray · session

@teamleaderleo teamleaderleo added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Oct 21, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

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

@blacksmith-sh

blacksmith-sh Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Found 3 test failures on Blacksmith runners:

Failures

Test View Logs
nightly cmux-tui resolve/nightly cmux-tui resolve View Logs
test_the_repository_highlights_validate (main.DigestTests.test_the_repository_highl
ights_validate)/
test_the_repository_highlights_validate (main.DigestTests.test_the_repository_highl
ights_validate)
View Logs
test_the_tree_classifies_every_macos_job (main.RoutingTableTests.test_the_tree_clas
sifies_every_macos_job)/
test_the_tree_classifies_every_macos_job (main.RoutingTableTests.test_the_tree_clas
sifies_every_macos_job)
View Logs

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

…act checks)

Leo, on a #22826 card: no state word and no pill. The state is the pull
request glyph's colour alone, as Claude draws it (open green, merged purple,
closed red, draft grey); the word stays as the glyph's accessible name.
Open and Open in are quiet borderless buttons with a hover background, the
card is tighter (8px/10px inset, 6px rows, no divider), a web card's address
sits under its title only when it says more than the host, and "+N −M" has no
dotted underline. An open pull request's checks are a compact "✓ 90 ✗ 10"
(◷ for running ones) with base's "(N already on base)" note, the ✗ muted when
every red is also red on base; a finished pull request shows no checks line
and no conflicts. The card stays on the tooltip's glass tokens.

This also clears the agent-pane-no-capsules red: the 999px state pill is gone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a1602e-25ea-7611-8c79-d16df0c4058f&host=cosmic-gray
@cursor

cursor Bot commented Oct 21, 2026

Copy link
Copy Markdown

Bugbot needs on-demand usage enabled

Bugbot uses usage-based billing for this team and requires on-demand usage to be enabled.

A team admin can enable on-demand usage in the Cursor dashboard.

teamleaderleo and others added 2 commits October 21, 2026 16:49
# Conflicts:
#	webviews/src/agent-session/acpmux/chips/LinkHoverCard.tsx
#	webviews/src/agent-session/acpmux/styles.css
Base #23477 moved the link card onto .ui-glass, so the card rule sets no fill;
the test now pins the ui-glass class and the glass token fallback instead of
the old tooltip background.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a1602e-25ea-7611-8c79-d16df0c4058f&host=cosmic-gray
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent, correctness first): SHIP at b8cddc9

  • 6335766: full review SHIP (Leo's card spec, chip never grows).
  • 3c41ba3 (base cmux NEXT: composer, messages, menus, cards and the Inspector are liquid glass #23477 liquid glass folded in): delta review SHIP. Every glass rule kept, the PR's spec kept, nothing doubled.
  • b8cddc9 (test-only): delta review SHIP. pr-hover-card.test.tsx now pins .ui-glass and the glass token fallback instead of the old tooltip background.
  • cmux16 at b8cddc9: pr-hover-card, link-cards, url-chip-hover and agent-pane-no-capsules all pass (18/18), and bun run check is clean. cmux-ci compile-check --app passed at 3c41ba3; the later commit changes only a test.
  • Reds at 3c41ba3: pr-hover-card was ours and is fixed in b8cddc9. risk evidence was the take-back hold, cleared by the Takes back #23644: line. The rest (release-notary, Guard status, gallery health, fast tier) are red on the feat-cmux-next base as well.

@teamleaderleo
teamleaderleo merged commit 556e8d0 into feat-cmux-next Oct 22, 2026
@teamleaderleo
teamleaderleo deleted the link-chip-card branch October 22, 2026 01:17
teamleaderleo added a commit that referenced this pull request Oct 22, 2026
Base redesigned the pull request card (#23746); the owner/repo#N link
moves onto its new facts row.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

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