Skip to content

Composer model menu: the Account switcher is back (Cmux under a Provider heading) - #28020

Merged
teamleaderleo merged 3 commits into
feat-cmux-nextfrom
leo/next-composer-account-row
Oct 30, 2026
Merged

teamleaderleo merged 3 commits into
feat-cmux-nextfrom
leo/next-composer-account-row

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator

Leo, 2026-10-29: "Why the f*** did you remove the f***ing account switcher?"

What happened

#27151 ("Picker: choose Cmux as a provider, not an agent harness") renamed the composer model menu's Account row to Provider. Its order was "user should pick harness, and change provider to cmux"; nothing asked for the Account row to go. The account choices were still inside, but the row the composer had called Account (CLI login, Work Max, …) no longer said Account, so the switcher read as gone. Leo's later relayed ask (ask-067e9aa217) still wanted "accounts and variants inside" each harness.

Takes back #27151: only its renaming of the composer's Account row to Provider (and the gallery/test selectors that followed it), because Leo asked for the account switcher back; #27151's Cmux-as-provider choice stays, under a Provider heading inside Account.

What changed

  • The composer model menu's account row is Account again (picker.account, already translated in all 21 locales), in the submenu and inline layouts.
  • Cmux routers (cmux-router, local-coderouter) stay in that submenu, now under a Provider heading by default, so "change provider to cmux" still reads as a provider choice. Nothing is removed: the same rows, the same route callback, refusal handling and the model-offer Provider row (providers: "row") are unchanged.
  • Gallery plays and the Playwright layout test look for the Account row again.

Test

webviews/test/model-menu-compact.test.tsx: new test "the composer keeps its Account switcher, with Cmux routers under a Provider heading", and the existing route tests open the Account row again.

  • Red, test commit fb83d868da8 with base's menu: bun test test/model-menu-compact.test.tsx 33 pass, 8 fail (every Account-row test, including the new one: no row starts with "Account").
  • Green, head 0e42761fbb5: 41 pass, 0 fail. src/agent-session/acpmux/QuickModelMenu.test.tsx 29 pass. vp fmt --check and vp lint clean on the changed files.

Risk

Low: a label and default grouping in one web menu. Any selector that looks for /^Provider/ on this row would miss; the repo's gallery plays and tests are updated.

Gallery: agent-pane.model-picker/started-chat-accounts, agent-pane.model-picker/quick-menu-many-profiles, new-tab.quick-model-menu/provider-submenu

Changelog

Fixed: the composer's model menu shows its Account switcher again; Cmux providers sit under a Provider heading inside it.

Agent session: agent session

🤖 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

Restores the composer model menu's Account switcher, which was unintentionally hidden when #27151 renamed the Account row to Provider.

  • The Account row is back in the submenu and inline layouts, using the already-translated picker.account label.
  • Cmux routers stay inside the Account submenu under a Provider heading, so choosing Cmux still reads as a provider choice.
  • Gallery plays and Playwright layout tests target the Account row again.

Written for commit 4914802. Summary will update on new commits.

View guided diff Turn on auto-fix

teamleaderleo and others added 2 commits October 30, 2026 05:29
Leo, 2026-10-29: "Why the fuck did you remove the fucking account switcher?"
#27151 renamed the composer model menu's Account row to Provider.

Agent-Session: https://cmux.com/deeplink/agent?id=aid-fb75b7af9902231028aa
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Leo, 2026-10-29: "Why the fuck did you remove the fucking account switcher?"
#27151 renamed the Account row to Provider. The row is Account again; Cmux
routers stay inside it under a Provider heading.

Agent-Session: https://cmux.com/deeplink/agent?id=aid-fb75b7af9902231028aa
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

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

Review 4914802: 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=pr28020 -f ref=leo/next-composer-account-row -f platform=macos -f backend_mode=local

Gallery before/after for 4914802: 3 states rendered, 6 images differ (picked by the Gallery: line in the PR body). Images are in the run's artifact, not on this public PR; the independent review of this head reads them on its own, so the PR needs no hand-made screenshots of these states.

gh run download 41176797682 -R manaflow-ai/cmux -n gallery-advisory-28020-4914802939a457ca14bc3fe85fb13b1f77bd68a5 (then read gallery-review.json)

States
State Theme Status Diff Picked by
agent-pane.model-picker/started-chat-accounts Apple System Colors Light changed 0.131% pr-body
agent-pane.model-picker/started-chat-accounts Apple System Colors changed 0.129% pr-body
agent-pane.model-picker/quick-menu-many-profiles Apple System Colors Light changed 0.204% pr-body
agent-pane.model-picker/quick-menu-many-profiles Apple System Colors changed 0.2% pr-body
new-tab.quick-model-menu/provider-submenu Apple System Colors changed 8.17% pr-body
new-tab.quick-model-menu/provider-submenu Apple System Colors Light changed 7.91% pr-body

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

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

CI failed on 4914802939 (run 41029315593 attempt 1): 2 code, 1 unknown.

Job Verdict Why
web / react-apps-base-check (1) code a web test failed
web / react-apps-base-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 pane-english.test.ts agent pane strings > no user-visible English is written in the pane's sources: failed (job)
  • seen on other PRs composer-chip-press.test.ts chromium: a menu row takes a press anywhere on it, its check gutter and trailing edge included: failed (job)
  • seen on other PRs composer-chip-press.test.ts webkit: a menu row takes a press anywhere on it, its check gutter and trailing edge included: failed (job)
Matched log lines
web / react-apps-base-check (1): (fail) agent pane strings > no user-visible English is written in the pane's sources [402.01ms]
web / react-apps-base-check (3): (fail) chromium: a menu row takes a press anywhere on it, its check gutter and trailing edge included [5936.98ms]

Not re-run automatically: web / react-apps-base-check (1), web / react-apps-base-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: cmux-next checks (god files, concurrency, crash safety, l10n); NEW: red check: Package dependency lists sorted is not red on the base 8407795; do not merge until green; see lane-rules
red: web / Web status; base red: the same failure on the base 8407795; does not block
red: web / react-apps-base-check (1); no finished base run on 8407795 to compare; do not merge until green; see lane-rules
red: web / react-apps-base-check (3); no finished base run on 8407795 to compare; do not merge until green; see lane-rules
red: web / react-apps-check; base red: the same failure on the base 8407795; does not block

@github-actions github-actions Bot added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Oct 30, 2026
@blacksmith-sh

blacksmith-sh Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Found 9 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmp59vlbie7/summary-missing.json (live):/summary-missing.json (live): View Logs
/tmp/tmpbo1kvbv1/summary-fail.json (live):/summary-fail.json (live): View Logs
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows/
[new_workspaces] debug.new_workspace timed 0 of 50 new workspace rows
View Logs
[new_workspaces] the window draws no frames/[new_workspaces] the window draws no frames View Logs
[tabs] debug.tab_switch timed 0 of 40 switches/
[tabs] debug.tab_switch timed 0 of 40 switches
View Logs
[tabs] the window draws no frames/[tabs] the window draws no frames View Logs
convention violations found (ERROR lines above)./
convention violations found (ERROR lines above).
View Logs
test_every_listed_hook_is_one_glaeda_released_with_the_check (main.SigningHooksInSt
epWithGlaedaTests.test_every_listed_hook_is_one_glaeda_released_with_the_check)/
test_every_listed_hook_is_one_glaeda_released_with_the_check (main.SigningHooksInSt
epWithGlaedaTests.test_every_listed_hook_is_one_glaeda_released_with_the_check)
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

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

…e Account row

Independent review of #28020 found both plays still focused /^Provider/.

Agent-Session: https://cmux.com/deeplink/agent?id=aid-fb75b7af9902231028aa
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (codex gpt-6-astra high, next-review): SHIP at 4914802

No blocking findings.

@cmux-bot cmux-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cmux-bot approves 4914802: an independent review passed this exact head (next-review receipt by teamleaderleo). A push needs a new review; a later BLOCK at this head dismisses this approval.

@cmux-bot cmux-bot Bot removed the risk:normal Risk tier (docs/ci/risk-tiers.md) label Oct 30, 2026
@github-actions github-actions Bot added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Oct 30, 2026
@teamleaderleo
teamleaderleo merged commit f3ae1f8 into feat-cmux-next Oct 30, 2026
221 of 241 checks passed
@teamleaderleo
teamleaderleo deleted the leo/next-composer-account-row branch October 30, 2026 09:50
teamleaderleo added a commit that referenced this pull request Oct 30, 2026
One conflict in ModelPicker.gallery.tsx with #28020 (the Account row is back): kept this PR's removal of the canonical-harnesses states (#26969's, reverted here) and base's Account wording.

Agent-Session: https://cmux.com/deeplink/agent?id=aid-3cf6bed67d0bb92a21bd
@github-actions

github-actions Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

teamleaderleo added a commit that referenced this pull request Oct 31, 2026
…rtcuts, folder profiles and fallback

The compact menu's web version (QuickModelMenuFallback) is base's QuickModelMenu as it stands,
and the native menu carries base's changes since: each model's effort as a side dropdown (#27948),
the Chief's own-model menu, the Account switcher with Cmux under Provider (#28020), Add harness in
the harness strip (#26503) and No models for an empty tab (#26962).

Review fixes (Sol BLOCK at 124eada):
- A digit on an empty search, or on the list, lands its numbered row instead of typeahead.
- The full picker lists this folder's profiles natively.
- An opening the native host refuses to show falls back to the web popup instead of closing.
- Keys start on the list, not the rail, so Return in the search lands the first match.
- Edits and picks made at an earlier revision of the open popup still land.
- Native rail clicks during a search leave it (Astra BLOCK at 8f4777b).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-766f2935b39ba914eb08
teamleaderleo added a commit that referenced this pull request Oct 31, 2026
… snapshot for the popup validator

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?id=aid-766f2935b39ba914eb08

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 49148029 Deployed Oct 30, 2026 by teamleaderleo via cmux-tui tree preflight #80980
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