fix(macos): disabled Copy menu item; Seatbelt scratch path not canonicalised
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
- 42/100
Direzione di ricerca
Read lib/features/macos/querya_platform_menu_bar.dart and locate SandboxScratchDirectory and buildMacOsSeatbeltProfile. First check how the menu actions and Seatbelt profile are built, then trace the scratch and extension root paths and inspect related tests, including a test for a /var path. Done means Copy invokes the selection intent, resolved paths match the profile, and the requested policy narrowing and escaping are covered; items 1–2 also need confirmation on a real Mac.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problems
- Copy menu item is disabled. In
lib/features/macos/querya_platform_menu_bar.dartCopy isconst PlatformMenuItem(label: 'Copy', shortcut: ...)with noonSelected, which Flutter renders as a disabled item. Cut / Paste / Select All callActions.maybeInvoke. Cmd+C may not work reliably while a text field is focused. - Seatbelt scratch path is not canonical.
SandboxScratchDirectoryusesDirectory.systemTemp(/var/folders/...);/varis a symlink to/private/var, and Seatbeltsubpathmatches the resolved path, so(allow file-write* (subpath "<scratch>"))likely never matches and the extension cannot write to its scratch dir. - Seatbelt profile is looser than documented (
buildMacOsSeatbeltProfile):(allow mach-lookup),(allow process*)and(allow file-read*)outside/Users, andscratchPath/extensionRootare interpolated into the profile without escaping quotes (see also #1560).
Tasks
- Copy: add an
onSelectedusingCopySelectionTextIntent. - Resolve symlinks for scratch and extension roots before building the profile; add a test with a
/varpath. - Narrow
mach-lookup/process*, escape profile strings.
Items 1–2 need confirmation on a real Mac.
- Lingua principale
- Dart
- Stelle
- 23
- Fork
- 1
- Merge medio
- 32m
- PR unite (30g)
- 537
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- 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 QueryaHub/Querya-Desktop
-
enhancement ui
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
QueryaHub/Querya-Desktop#1689 ·
I maintainer di solito rispondono entro 1 giorno
-
ui(dialogs): make destructive query and DML preview dialogs adaptive and prevent table name overflowApertabug frontend
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
QueryaHub/Querya-Desktop#1642 ·
I maintainer di solito rispondono entro 1 giorno
-
bug error-handling settings
Difficoltà 1/5 1-3 ore Idoneità per principianti 78/100
QueryaHub/Querya-Desktop#1637 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
QueryaHub/Querya-Desktop#1636 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement marketplace
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
QueryaHub/Querya-Desktop#1635 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di QueryaHub/Querya-Desktop
Issue simili
-
package:code_builder type-bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno
-
type:feature
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
photos
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 91/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
venera-app/venera-prime#45 ·
-
area: ui feature priority: medium
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno