Skip to content

cmux NEXT: a new tab group nobody coloured is grey, not the next palette colour - #32156

Merged
teamleaderleo merged 1 commit into
feat-cmux-nextfrom
lane/tab-group-neutral-default
Nov 2, 2026
Merged

teamleaderleo merged 1 commit into
feat-cmux-nextfrom
lane/tab-group-neutral-default

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Nov 2, 2026 •

Copy link
Copy Markdown
Collaborator

Leo, 2026-10-31, on an agent chat tab with a salmon underline and an orange dot beside it: "WHY DOES THIS HAVE A LINE AND COLOR?????? / WHERE IS ORANGE COMING FROM?????????? AN ORANGE DOT????"

Leo-ask: ask-88148faefe

What it was

The tab was in an unnamed tab group. Such a group's chip is a bare colour dot (TabGroupChipCell), and the group band draws the underline (TabGroupBandCell). Nobody picked the colour: tabGroup.create (the tab menu's New Tab Group, the palette and the CLI through the app) gave any group created without a colour the next palette colour (TabGroupOrdering.nextColor, from cx-wqn5).

Change

  • A tab group created without a colour gets grey, which is the daemon's own default for create-tab-group. No palette colour shows up that nobody chose.
  • A colour the caller names (--color, the group editor) still shows as before.
  • The chip, the underline geometry and the grouping itself are unchanged. They are just neutral now.
  • Out of scope: screen groups and sidebar workspace groups keep their colour walk, since Leo pointed only at the tab.

Tests

TabSelectionActionsTests.thePaletteGroupsTheSameSelectedTabs now also asserts that the new group's colour is grey. The app compile check runs on the fleet.

Small change (one-line default plus a test assertion).

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

Tab groups created without a chosen color now get grey instead of the next palette color, so no unintended orange dot and underline appear when nobody picked a color. A color the caller names (via --color or the group editor) still shows as before.

Written for commit 95345a1. Summary will update on new commits.

View guided diff Turn on auto-fix

…tte colour

Leo, 2026-10-31, on an orange dot and underline on an agent chat tab: "WHERE IS ORANGE COMING FROM".
tabGroup.create (tab menu, palette, CLI through the app) gave a group with no colour the next palette
colour (TabGroupOrdering.nextColor). It now takes grey, the daemon's own default; a colour the caller
names still shows.

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

github-actions Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

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

Review 95345a1: 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=pr32156 -f ref=lane/tab-group-neutral-default -f platform=macos -f backend_mode=local

Default changes

This pull request changes 1 default at 95345a11fa3c (what everyone gets without configuring anything):

  • tunable-source.CmuxNextApp/Handlers/TabGroupHandlers.swift:bindMembership: "79da334ffa47992277e8f545965d8b1b96ada8ab8af76ac2b98fdc0ddd3c300b" -> "f94e2b533dc59e00c678c6c9f53ca2347b8395e156cd5386a3d65953bbde731d"

Signed off on this commit by review (subagent opus-5.5 medium).

Merge receipt: merged as 4816325eaf64 with these defaults changed, signed off by review (subagent opus-5.5 medium).

Regenerate the snapshot with python3 scripts/ci/defaults_guard.py snapshot.

Shipped in:

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent opus-5.5 medium): SHIP at 95345a1

Checked that the imports are still used and that nothing is newly unused. The test's types (PaneModel.tabGroups, TabGroupModel.color) match. No existing test expects a palette colour from tabGroup.create. The daemon accepts and stores "grey". Follow-ups: screen groups still use nextColor.

@teamleaderleo
teamleaderleo merged commit 4816325 into feat-cmux-next Nov 2, 2026
145 of 165 checks passed
@teamleaderleo
teamleaderleo deleted the lane/tab-group-neutral-default branch November 2, 2026 10:56
@github-actions github-actions Bot added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Nov 2, 2026
@lawrencecchen

Copy link
Copy Markdown
Contributor

This PR made the feat-cmux-next tip red on the arch ratchet: [app_lines] CmuxNextApp Swift lines: +1 (the new comment in TabGroupHandlers.swift is 1 line longer than the old comment and expression). #32165 makes the comment 2 lines; the rule and the reason stay, the code does not change.

lawrencecchen added a commit that referenced this pull request Nov 2, 2026
…p_lines +1 from #32156) (#32165)

#32156 made the tab-group comment one line longer than the comment and
expression it replaced; the tip arch ratchet failed with app_lines +1
over the last green arch tip 5029823. The comment keeps the rule
and Leo's reason in two lines. Behavior does not change.

Observed: arch-ratchet.py --base 5029823 --head HEAD was +1 before, see PR for after.
lawrencecchen added a commit that referenced this pull request Nov 3, 2026
…32198 made it (#33095)

thePaletteGroupsTheSameSelectedTabs failed at TabSelectionActionsTests.swift:85
(color "none", expected "grey"). #32156 made tabGroup.create send grey and
added this check; #32198 then made every group created without a colour
store none (the daemon's cmux-tui state test expects none, and
tabGroup.create sends GroupTint.noneWire), so no dot or underline shows.
#32198 did not update this check. The product is right (Leo 2026-10-31:
'WHY DOES THIS HAVE A LINE AND COLOR'); the check now asks for none.

Culprit: 3a5b96c (#32198), over 4816325 (#32156).
Red: fleet job 2bf90b6c18ca136f3fb6c15d at feat 11dfe91.

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 95345a11 Deployed Nov 2, 2026 by teamleaderleo via wait for same-key tree publisher #100791
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.

2 participants