cmux NEXT Settings: a Chief page with every Chief setting; the Chief popover links to it

Merged
TE
16d ago
+408-57

Summary

Leo couldn't find Chief settings in the nightly. The Settings sidebar had no Chief entry, and the Chief's name-pill popover was the only place he looked. Its own words: "only having it as a popover is kind of crappy; there's a lot of settings you may or may not want for the chief".

  • Settings > Chief is a new category, right after Agents. It holds every Chief setting the app has:

    • the Chiefs list (each Chief's name, picture and backend, which opens its editor);
    • Chief Chat (the bubble style);
    • Chief Pet (Show Chief Pet and the pet's character).

    These three used to sit at the bottom of Agents.

  • All Chief Settings… in the name-pill popover opens Settings > Chief and closes the popover. The popover stays the quick version.

  • The pet's own Chief Pet Settings… already opened Settings at the pet row, so it now lands on the Chief page.

  • The bottom-left profile menu already has Show/Hide Chief Pet in base (profileMenu.chiefPet), so this PR doesn't change it.

  • HomeChiefHostLine moves from CmuxNextApp to CmuxNextHomeEngine, so CmuxNextApp's source lines stay level (+0 against the base).

  • New strings: the category title "Chief" and "All Chief Settings…", in all 21 locales. Chief is kept untranslated as a product name.

  • The web page gets a crown icon for the category. The generated settings export (settings-schema.json, its page) is left for the PR autofix to regenerate.

The cloud half of this item, where a cloud Chief's popover said "The server with this Chief is not connected." and showed empty pickers, is #22602. It is reviewed and lands separately.

Not in this PR: the brief also listed notices, voice, approvals and history import for the Chief page. None of them is a setting today, so there was nothing to move. Each would be a new setting with its own PR.

Coordination: #21822 (the Chief Pet card, from another lane) adds a separate Chief Pet category for the same two pet rows. I've asked its owner to draw that card inside this Chief category instead.

Changelog

Changed: Settings has a Chief page with every Chief setting, and the Chief's settings popover links to it.

Tests

Red commit 77d7bdf618, then the fix in 91716854cd:

  • ChiefSettingsPageTests (CmuxNextSettingsTests):
    • the Chief category exists right after Agents;
    • it leads with the Chiefs list and holds the three Chief rows;
    • Agents no longer holds them.
  • ChiefBubbleStyleSettingTests.theSettingsPageDrawsItInChief: replaces the test that expected the bubble style row in Agents.
  • HomeChiefSettingsViewTests.allChiefSettingsOpensTheSettingsPage: the popover's link is visible, is named for VoiceOver, and runs onAllSettings.
  • webviews/src/pages/settings/categories.test.ts: the approved category order now includes chief.

Observed / Not run

  • Observed on this head: prepush-gate.py (no new violations), scripts/web-lint.sh (passed), count-swift-code-lines.py (CmuxNextApp 95441 source lines, the same as the base).
  • Not run: Swift and web tests. Agents don't build or test on Leo's Mac, so they run in CI on this PR, which will show the red run on 77d7bdf618 and the green run on the head.
  • Not run: a capture of the page. The generated schema export must regenerate first. A gallery render follows once autofix has run.

Risk: normal (Settings layout and one popover link; no policy or data change).

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

Settings gains a Chief page holding every Chief setting, and the Chief name-pill popover links to it. The Chiefs list, Chief Chat, and Chief Pet rows move from the bottom of Agents into a new Settings > Chief category, right after Agents, with the pet card leading after the Chiefs list. The popover keeps its quick settings and adds an "All Chief Settings…" link that opens the page; the release note's action opens Settings.

  • HomeChiefHostLine moves from CmuxNextApp to CmuxNextHomeEngine so the app's source lines stay level.
  • New strings ("Chief" and "All Chief Settings…") land in all 21 locales; the web page gets a crown icon and settings exports are regenerated, including the schema conflict resolution from the latest merge.
  • The formerly separate Chief Pet category from #21822 is folded into the Chief page.
  • Tests, gallery states, and code comments now target Settings > Chief; the popover-link test finds its button by accessibility id.

Not in this PR: the cloud Chief popover issue (#22602) and new settings like notices, voice, approvals, and history import, none of which are settings today.