cmux-next palette: Phone actions that ask for input end in "…"
Phone (iOS Simulator) actions in the palette now follow the macOS rule: a title ends in "…" exactly when the action asks for more input before acting. When the palette runs an action that is missing a required argument, ActionRegistry.performNow hands it to the argument collector, so "has a required argument" is the same thing as "asks first".
| Before | After | Asks for |
|---|---|---|
| Open URL on Phone | Open URL on Phone… | the URL |
| Copy Text to Phone | Copy Text to Phone… | text |
| Tap Phone Screen | Tap Phone Screen… | x and y |
| Swipe on Phone | Swipe on Phone… | start and end points |
| Type on Phone | Type on Phone… | text |
| Press Phone Button | Press Phone Button… | a button |
| Set Phone Appearance | Set Phone Appearance… | light or dark |
| Set Phone Location | Set Phone Location… | latitude and longitude |
| Set Phone Language | Set Phone Language… | a locale |
| Install App on Phone | Install App on Phone… | an app file path |
| Launch App on Phone | Launch App on Phone… | a bundle ID or package |
Unchanged, because they act at once on the default phone (their only arguments are optional): Open Phone, Boot Phone, Shut Down Phone, Rotate Phone, Take Phone Screenshot, Record Phone, Stop Phone Recording, Send Phone Recording to Chief, List Phones, Read Phone Screen Elements, Show Phone Logs.
The "…" is in all 21 locales of PhoneActions.xcstrings and in the defaultValues in PhoneActionCatalog.swift. A new test, phoneTitlesEndInAnEllipsisExactlyWhenTheyAsk in PaletteMenuVocabularyTests.swift, checks that a Phone title ends in "…" exactly when the action has a required argument.
Follows #23091, which did the same for the rest of the palette.
Changelog
Changed: Phone actions in the command palette that ask for input first now end in "…".
Observed / Not run
Observed: prepush-gate.py reports no new violations. localize-changes reports 0 new and 0 changed keys. verify-local.py passes swift-syntax, xcstrings, localization-defaults and feature-flags; its localization step (the existing needs_review states) and package-groups step (CmuxConversation and CmuxTabsKit missing from cmux.xcworkspace) fail on files this PR doesn't touch.
Not run: the new test and the Swift compile were not run locally (no local builds); a fleet compile-check and CI run them. plans/cmux-next/action-surfaces.json still lists the old titles; it is generated, and the autofix regenerates it.
No capture: copy-only change to palette titles; the titles are listed above.
Agent session: cosmic-gray
🤖 Generated with Claude Code
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Phone palette actions that ask for input now end in "…" in their titles, following the macOS convention. Eleven actions that require an argument (URL, text, point, button, appearance, etc.) get the ellipsis in all 21 locales; the eleven that run immediately (Open Phone, Boot Phone, Take Phone Screenshot, etc.) keep theirs unchanged. A new test verifies that a title ends in "…" exactly when the action has a required argument.