galaxyproject / galaxyproject/loom
Orbit: permission prompt should pre-select the first option and support keyboard navigation (arrows/numbers)
- Dominant language
- TypeScript
- Stars
- 14
- Forks
- 12
- Avg merge
- 6d 5h
- Merged PRs (30d)
- 17
Description
**Reported via beta feedback (v0.5.1, macOS/arm64).**
> "When the allow/deny popup appears, pre-selecting the first option and allowing to navigate with arrow keys or numbers may be useful to keep hands on keyboard."
The permission prompt (`extensions/loom/exec-guard/gate.ts` -- "Allow once" / "Allow for this session" / "Trust this workspace..." / "Deny") currently needs the mouse. The ask:
- **Pre-select the first option** so Enter is immediately meaningful.
- **Arrow-key navigation** between options.
- **Number keys** (1-4) to pick directly.
Worth pairing with the safety question: pre-selecting a default on a security prompt is a deliberate choice -- "Allow once" as the pre-selected default makes the safe path the fast path only if you consider allow-once safe. Might be better to pre-select without making Enter a blind accept, or to make the destructive/permissive option require an explicit move. Flagging so it's decided rather than defaulted into.
This is prompt-fatigue adjacent: related #233 (progressive/one-time grants), #247 (widen read-only safe-list to cut prompts).
_(Beta tester feedback; details anonymized.)_
Sibling: #376 -- the "Trust this workspace" option in this same prompt currently over-promises for weak-tier models. If its label changes, this option list changes with it.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in extensions/loom/exec-guard/gate.ts and trace how the permission prompt builds and handles its four options. Resolve the safe default behavior before implementing pre-selection, arrow-key navigation, and number-key shortcuts, accounting for the related Trust this workspace label change in #376. Done means the prompt supports the requested keyboard interactions without making a permissive choice accidental.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- authorization, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100