cmux NEXT: Pin or Unpin Chat reads Pin/Unpin Chat; the toggle-style test covers every action

Merged
TE
15d ago
+79-66

Summary

sidebar.chat.togglePin, added in #22323, is still titled "Pin or Unpin Chat". Every other toggle reads X/Y ("Pin/Unpin"). The action is keyboard-only and the palette never shows it, so PaletteMenuVocabularyTests didn't check it. Its title does show in Keyboard Shortcuts settings.

  • Test, committed first: everyActionTitleUsesOneToggleStyle applies the toggle rule to every catalog action on any surface: no "X or Y …", no "Toggle Group…". It is red on that title. The Clear and Hide rules stay palette-only.
  • Fix: the title becomes "Pin/Unpin Chat". All 21 locales follow the wording each one already uses for "Pin/Unpin Chat in Priority…". The chat row's right-click menu still says Pin or Unpin, based on the chat's state.
  • Generated file: plans/cmux-next/action-surfaces.json still has the old title. PR autofix regenerates it, so it isn't hand-edited here.

This goes with #23708 (the Priority row actions' chat picker). Both come from the follow-ups to #23527.

Testing

cmux-next swift test runs PaletteMenuVocabularyTests.everyActionTitleUsesOneToggleStyle:

  • Base, plus the test commit e75c9efcdbb8: expected red on sidebar.chat.togglePin Pin or Unpin Chat. The result will be added to this PR.
  • The fix head: expected green. The result will be added to this PR.

A search of every action-title key in the sources finds no other "X or Y" title and no "Toggle Group" title.

Observed / Not run

  • Ran: prepush-gate.py, no new violations. The xcstrings catalog parses as JSON and only that one entry changed.
  • Not run locally: the Swift tests, which a hook blocks on this Mac. They run on this PR's CI.

Changelog

Changed: The Pin or Unpin Chat shortcut reads Pin/Unpin Chat in Keyboard Shortcuts settings, like the other toggles.

🤖 Generated with Claude Code

Agent session: cosmic-gray


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


Summary by cubic

Retitles the cmux NEXT catalog's remaining old-style toggles to read X/Y instead of "X or Y", and widens the toggle-style test to catch titles that only surface in Keyboard Shortcuts settings or carry a prefix.

  • everyActionTitleUsesOneToggleStyle now covers every catalog action on any surface and matches after a title's prefix.
  • Fixes sidebar.chat.togglePin (Pin/Unpin Chat), Palette: Show/Hide Actions, and Developer Tools: Start/Stop Performance Recording, in all 21 locales.
  • The chat row's right-click menu still says Pin or Unpin, based on the chat's state.
  • plans/cmux-next/action-surfaces.json is regenerated by PR autofix.