Quick controls: dismiss the panel after saving a shortcut and clicking outside
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 52/100
Direzione di ricerca
Start with the NSPopover lifecycle in Sources/LocalVoice/main.swift, then read Sources/LocalVoice/WorkbenchQuickPanel.swift and Sources/LocalVoice/KeyboardCoach.swift for editor cleanup and recording teardown. Reproduce the listed save-and-outside-click case in the signed installed app, then verify the acceptance cases, including that saved bindings persist, abandoned recording stops, and shortcuts work after dismissal.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Outcome and evidence
P2, reproduced. After saving a shortcut, the menu-bar panel remains open over another app. It requires Escape or the menu-bar icon to close.
Workbench Preview 2.3.0, build 20260928054038, source 00be555139f87d4557f48fcffc132b8621c251a2, unmodified source, macOS 26.5.1 (25F80), Apple M5, built-in display. Identity verified in the running app using Copy build details on 28 September 2026.
Reproduction
- Open Quick controls.
- Choose Change for Snap's existing shortcut.
- Save the same assigned key (the test used Option-1, preserving the binding).
- Click a harmless TextEdit document outside Workbench.
- Observe that the panel and the “Saved. Try it here to build the habit.” well remain visible.
- Press Escape; the panel closes.
Both an accessibility click and a coordinate click in a fresh TextEdit screenshot were tried. A fresh Workbench screenshot and full accessibility tree confirmed persistence, so this was not only a stale tree. Reopening later also retained the saved Snap well.
Owner and bounded change
Source links below pin the earlier audited commit 9578d8cf; the relevant paths were checked against installed 00be5551 and the described behaviour is unchanged. Source findings and native observations are distinguished below.
- main.swift opens a transient NSPopover and makes it key; popoverDidClose owns stopInteraction.
- WorkbenchQuickPanel.swift clears the inline editor on disappear or Done/Cancel.
- KeyboardCoach.swift owns recording and global-key suspension. The full editor has additional deactivation cleanup around lines 280 and 402.
Give this panel a reliable outside-click/Escape/deactivation lifecycle and guarantee recorder teardown. The code is a diagnostic starting point; the specific AppKit dismissal cause is not yet proven. Reuse KeyboardCoach.
Acceptance
- Save the same key then click another app: panel closes and the saved binding remains.
- Abandon recording before entering a key, Escape, switch to another Workbench window, and open/dismiss an Options menu.
- Leaving cannot capture later typing or leave global actions suspended.
- Reopening starts in the appropriate state; changing a second shortcut cannot retain the first editor.
- Cancel preserves the old key. Native child menus remain usable.
- Verify focus and real outside clicks in the signed installed app, with normal shortcut actions working afterwards.
Bounded child of #76; related menu recovery #56.
- Lingua principale
- Swift
- Stelle
- 0
- Fork
- 1
- Merge medio
- 8h 5m
- PR unite (30g)
- 215
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Ship-Work/workbench
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue help wanted
Difficoltà 2/5 Mezza giornata Idoneità per principianti 74/100
Ship-Work/workbench#29 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 55/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Ship-Work/workbench
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
Countly/countly-sdk-ios#485 ·
I maintainer di solito rispondono entro 1 giorno
-
area:ui enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
s3onghyun/bulchimbeon#22 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
[BUG] File transcription skips audio chunks shorter than one secondForse già presa @sabbah13 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
altic-dev/FluidVoice#1161 ·
I maintainer di solito rispondono entro 1 giorno