Skip to content

webviews: the Options chip truncates only when its row is full (chip-fixed-width, agent-pane-no-capsules base reds) - #23068

Closed
teamleaderleo wants to merge 2 commits into
feat-cmux-nextfrom
webviews-options-chip-row-width
Closed

teamleaderleo wants to merge 2 commits into
feat-cmux-nextfrom
webviews-options-chip-row-width

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Two webview tests have been red on feat-cmux-next since fe0e57b (pushed directly to base) added the composer's Options chip. This PR fixes both. Neither has the font or metrics cause that compaction-rows is fixing; both are stylesheet rules the tests read.

Test Base failure Change
chip-fixed-width composerControls.css .acpmux-options-text => 180px Code: the Options chip's face no longer stops at 180px. The chip shrinks with its row (flex: 0 1 auto; min-width: 0, button max-width: 100%) and ellipsizes only when the row is full, as #22731 did for the other chips. In the chat bar a more specific rule wins over the bar's > span { overflow: visible } so the face still ellipsizes.
agent-pane-no-capsules .acpmux-options .acpmux-picker-button (radius 999px, height 28px) Test list: the Options chip sits in the same row as the model, effort and access chips, which the test lists as the Claude app's soft pill (#22107). The commit drew it "a quiet pill like the access chip" on purpose, so it joins that list with the reason in the comment. Every other selector is still checked.

Changelog

  • Fixed: the composer's Options chip no longer cuts off its label at a fixed width while the row has room.

Observed / Not run

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

Fixes two webview tests that went red when the composer's Options chip was added to base.

  • The chip's label no longer truncates at a fixed 180px; the chip shrinks with its row and ellipsizes only when the row is full.
  • The row counts the chip's whole width first (via a data-fit-natural marker) so label steps occur before the chip gives up any text, and the chip keeps a 56px floor.
  • The chip joins the agent-pane-no-capsules pill list alongside the model, effort, and access chips, since it deliberately takes the access chip's shape.

Written for commit 6204e92. Summary will update on new commits.

View guided diff Turn on auto-fix

…akes its row's pill shape (two base reds)

fe0e57b added the composer's Options chip with a 180px cap on its face and the access chip's
999px radius. chip-fixed-width (Leo 2026-10-20: chips truncate only when the row is full) and
agent-pane-no-capsules (pills only for the composer's chip family) went red on base.

The face now shrinks with the row and ellipsizes there; the chip is listed with the model, effort
and access chips it sits beside, whose pill is the Claude app's (#22107).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15cfb-0392-7f93-b611-98366b6dc130&host=cosmic-gray
@teamleaderleo teamleaderleo added the risk:low Risk tier (docs/ci/risk-tiers.md) label Oct 21, 2026
@teamleaderleo

teamleaderleo commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator Author

Owned by projects-c6 on cosmic-gray · session

@teamleaderleo teamleaderleo added risk:normal Risk tier (docs/ci/risk-tiers.md) and removed risk:low Risk tier (docs/ci/risk-tiers.md) labels Oct 21, 2026
@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 6204e92: 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=pr23068 -f ref=webviews-options-chip-row-width -f platform=macos -f backend_mode=local

Unclear: web / react-apps-check failed: no known signature; failed step: Check webview test shards.

CI failed on 6204e92b74 (run 39557128840 attempt 1): 4 code, 1 unknown.

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

Failures:

  • seen on other PRs agent-pane-queue-steer.test.ts queued and steering prompts > the queue takes its own place in the stack: nothing is cut off or draw...: failed (job)
  • seen on other PRs agent-pane-stream-jitter.test.ts webkit: scrolling up while a reply streams is never pulled back: failed (job)
  • seen on other PRs chief-context-copy.test.ts chromium, Catppuccin Mocha, 300px: the context's Copy trails its label and covers no text: failed (job)
  • seen on other PRs chief-context-copy.test.ts chromium, Apple System Colors Light, 300px: the context's Copy trails its label and covers no text: failed (job)
  • seen on other PRs chief-context-copy.test.ts webkit, Catppuccin Mocha, 300px: the context's Copy trails its label and covers no text: failed (job)
  • seen on other PRs chief-context-copy.test.ts webkit, Apple System Colors Light, 300px: the context's Copy trails its label and covers no text: failed (job)
  • seen on other PRs composer-suggested-prompt.test.tsx nothing is suggested from another folder, another worktree, a merged PR, an old chat or a busy one: failed (job)
  • seen on other PRs composer-suggested-prompt.test.tsx a folder with a trailing slash is the same checkout: failed (job)
  • seen on other PRs agent-pane-ctrl-b-background.test.ts with no running call, Ctrl-B stays the composer's and asks nothing: failed (job)
  • seen on other PRs agent-pane-ctrl-b-background.test.ts a Codex chat shows no hint and keeps Ctrl-B: failed (job)
  • ... 12 more in the job logs
Matched log lines
web / react-apps-check (2): (fail) queued and steering prompts > the queue takes its own place in the stack: nothing is cut off or drawn over [1384.56ms]
web / react-apps-check (1): (fail) with no running call, Ctrl-B stays the composer's and asks nothing [1074.51ms]
web / react-apps-check (4): (fail) chromium > the wheel over a long draft stops at its ends and moves nothing else [4099.60ms]
web / react-apps-check (3): (fail) the strip or queue and the card meet square in one rim, and the queue keeps room above [6684.59ms]

Not re-run automatically: web / react-apps-check (2), web / react-apps-check (1), web / react-apps-check (4), web / react-apps-check (3), 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 1f14051; does not block
red: web / react-apps-check; base red: the same failure on the base 1f14051; does not block
red: web / react-apps-check (1); NEW: - [] + [ + "type "mail me@rea": layout shift 0.0002 (limit 0)", + ] - Expected - 1 + Received + 3 at <anonymous> (/home/runner/_work/cmux/cmux/webviews/test/com (+7 more) is not red on the base 1f14051; do not merge until green; see lane-rules
red: web / react-apps-check (2); NEW: Expected: "Do anything" Received: "Type / for commands" at <anonymous> (/home/runner/_work/cmux/cmux/webviews/test/composer-suggested-prompt.test.tsx:206:19) (+7 more) is not red on the base 1f14051; do not merge until green; see lane-rules
red: web / react-apps-check (3); NEW: - [] + [ + "press ArrowUp: layout shift 0.0002 (limit 0)", + "press ArrowDown: layout shift 0.0002 (limit 0)", + "type "draft": layout shift 0.0002 (limit 0)", (+1 more) is not red on the base 1f14051; do not merge until green; see lane-rules
red: web / react-apps-check (4); NEW: Expected: <= 2 Received: 2.5 at <anonymous> (/home/runner/_work/cmux/cmux/webviews/test/composer-location-strip.test.ts:450:57) (+1 more) is not red on the base 1f14051; do not merge until green; see lane-rules

CI fast guards failed on 6204e92b74 (https://github.com/manaflow-ai/cmux/actions/runs/39557128840). 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.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

cmux-next guards / defaults-snapshot is red on 21 of 25 fresh feat-cmux-next PR heads in the last 2:00:00, so it is most likely a base red, not this PR's. The base-reds lane has it; a base merge picks up the fix once it lands.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

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

…ves up text, and the chip keeps a floor

Review of #23068: as the row's only shrinking item, the Options chip took the whole shortfall
first, hid the overflow from composerRowFit (so no label stepped down) and could shrink to
nothing. The row now counts the face's whole width (data-fit-natural), and the chip stops at the
New Tab model chip's 56px floor.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15cfb-0392-7f93-b611-98366b6dc130&host=cosmic-gray
@blacksmith-sh

blacksmith-sh Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Found 20 test failures on Blacksmith runners:

Failures

Test View Logs
test/agent-pane-column-edges.test.ts/agent-pane-column-edges.test View Logs
test/agent-pane-column-edges.test.ts/agent-pane-column-edges.test View Logs
test/agent-pane-ctrl-b-background.test.ts/agent-pane-ctrl-b-background.test View Logs
test/agent-pane-ctrl-b-background.test.ts/agent-pane-ctrl-b-background.test View Logs
test/agent-pane-queue-steer.test.ts/agent-pane-queue-steer.test View Logs
test/agent-pane-queue-steer.test.ts/agent-pane-queue-steer.test View Logs
test/agent-pane-stream-jitter.test.ts/agent-pane-stream-jitter.test View Logs
test/agent-pane-stream-jitter.test.ts/agent-pane-stream-jitter.test View Logs
test/agent-pane-wheel-pass-through.test.ts/agent-pane-wheel-pass-through.test View Logs
test/agent-pane-wheel-pass-through.test.ts/agent-pane-wheel-pass-through.test View Logs

...and 10 more test failures. View all on Blacksmith

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

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Superseded by 1e71433 on feat-cmux-next, which fixed the same two base reds (chip-fixed-width, agent-pane-no-capsules) another way: the Options chip became a small-radius rect with no 180px cap. This PR now conflicts with it. At f957397 both tests pass on Linux Chromium/WebKit with Unifont and with default fonts, so neither red comes from the font. What this PR adds beyond that (composerRowFit counting the face's full width, so the row hides its labels before the Options face ellipsizes) does not fix a red. It is not carried forward here.

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