cmux-next palette: Phone actions that ask for input end in "…"

Merged
TE
15d ago
+255-242

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".

BeforeAfterAsks for
Open URL on PhoneOpen URL on Phone…the URL
Copy Text to PhoneCopy Text to Phone…text
Tap Phone ScreenTap Phone Screen…x and y
Swipe on PhoneSwipe on Phone…start and end points
Type on PhoneType on Phone…text
Press Phone ButtonPress Phone Button…a button
Set Phone AppearanceSet Phone Appearance…light or dark
Set Phone LocationSet Phone Location…latitude and longitude
Set Phone LanguageSet Phone Language…a locale
Install App on PhoneInstall App on Phone…an app file path
Launch App on PhoneLaunch 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


View with [code]smith Autofix with [code]smith
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.