Replace the TUI command line with a keyboard-first fuzzy command palette in the top toolbar/title area.
Scope
Add a command search field to the top application chrome and focus it with Command-K on macOS and Ctrl-K elsewhere.
Fuzzy-match the currently available UI actions by localized display name and stable aliases; do not parse CLI syntax or call the CLI.
Show shortcuts, availability, and a concise reason when an action is disabled.
Support keyboard result navigation, Enter to invoke, Escape to close/restore focus, and mouse activation.
Include all desktop equivalents of the base pass, Git, OTP, lock, navigation, settings, and help actions; actions requiring more input open the corresponding GUI dialog.
Reuse the common UI action/enablement mapping from the menu issue rather than maintaining a second command registry.
Acceptance criteria
Common misspellings and subsequences produce deterministic, useful ordering.
Palette actions behave identically to their menu/toolbar equivalents, including confirmation and authentication gates.
Locked or context-invalid actions cannot be invoked through the palette.
## Goal
Replace the TUI command line with a keyboard-first fuzzy command palette in the top toolbar/title area.
## Scope
- Add a command search field to the top application chrome and focus it with `Command-K` on macOS and `Ctrl-K` elsewhere.
- Fuzzy-match the currently available UI actions by localized display name and stable aliases; do not parse CLI syntax or call the CLI.
- Show shortcuts, availability, and a concise reason when an action is disabled.
- Support keyboard result navigation, Enter to invoke, Escape to close/restore focus, and mouse activation.
- Include all desktop equivalents of the base pass, Git, OTP, lock, navigation, settings, and help actions; actions requiring more input open the corresponding GUI dialog.
- Reuse the common UI action/enablement mapping from the menu issue rather than maintaining a second command registry.
## Acceptance criteria
- Common misspellings and subsequences produce deterministic, useful ordering.
- Palette actions behave identically to their menu/toolbar equivalents, including confirmation and authentication gates.
- Locked or context-invalid actions cannot be invoked through the palette.
- Tests cover focus, matching order, keyboard execution, cancellation, and action availability.
hugo
added this to the 03 - Cross-platform Iced desktop app milestone 2026-08-09 19:30:15 +00:00
Implemented and pushed in commit 44e1b86. Added the persistent top-chrome command search, Cmd/Ctrl-K and native/in-window menu entry, deterministic typo/subsequence fuzzy matching over centralized display names, stable action IDs and aliases, visible shortcuts and shared availability reasons, scrolling keyboard selection with Enter/Home/End/arrows, Escape focus restoration, mouse invocation, and modal/authentication/context guards. Palette execution routes through the same invoke_action and enablement paths as menus and toolbars; no CLI parsing, subprocess, dependency, or second command registry was introduced. Verification: native macOS launch smoke; cargo fmt --all -- --check; RUSTFLAGS="-D warnings" cargo check --workspace --all-targets; cargo clippy --workspace --all-targets -- -D warnings; cargo test --workspace. All passed, including 16 desktop tests and the full TUI suite.
Implemented and pushed in commit 44e1b86. Added the persistent top-chrome command search, Cmd/Ctrl-K and native/in-window menu entry, deterministic typo/subsequence fuzzy matching over centralized display names, stable action IDs and aliases, visible shortcuts and shared availability reasons, scrolling keyboard selection with Enter/Home/End/arrows, Escape focus restoration, mouse invocation, and modal/authentication/context guards. Palette execution routes through the same invoke_action and enablement paths as menus and toolbars; no CLI parsing, subprocess, dependency, or second command registry was introduced. Verification: native macOS launch smoke; cargo fmt --all -- --check; RUSTFLAGS="-D warnings" cargo check --workspace --all-targets; cargo clippy --workspace --all-targets -- -D warnings; cargo test --workspace. All passed, including 16 desktop tests and the full TUI suite.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Goal
Replace the TUI command line with a keyboard-first fuzzy command palette in the top toolbar/title area.
Scope
Command-Kon macOS andCtrl-Kelsewhere.Acceptance criteria
Implemented and pushed in commit
44e1b86. Added the persistent top-chrome command search, Cmd/Ctrl-K and native/in-window menu entry, deterministic typo/subsequence fuzzy matching over centralized display names, stable action IDs and aliases, visible shortcuts and shared availability reasons, scrolling keyboard selection with Enter/Home/End/arrows, Escape focus restoration, mouse invocation, and modal/authentication/context guards. Palette execution routes through the same invoke_action and enablement paths as menus and toolbars; no CLI parsing, subprocess, dependency, or second command registry was introduced. Verification: native macOS launch smoke; cargo fmt --all -- --check; RUSTFLAGS="-D warnings" cargo check --workspace --all-targets; cargo clippy --workspace --all-targets -- -D warnings; cargo test --workspace. All passed, including 16 desktop tests and the full TUI suite.