fix(macos): disabled Copy menu item; Seatbelt scratch path not canonicalised
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 42/100
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- Dart
- Étoiles
- 23
- Forks
- 1
- Merge moyen
- 31 min
- PR mergées (30 j)
- 570
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de QueryaHub/Querya-Desktop
-
enhancement ui
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
QueryaHub/Querya-Desktop#1689 ·
Les mainteneurs répondent en général sous 1 jour
-
ui(dialogs): make destructive query and DML preview dialogs adaptive and prevent table name overflowOuvertebug frontend
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
QueryaHub/Querya-Desktop#1642 ·
Les mainteneurs répondent en général sous 1 jour
-
bug error-handling settings
Difficulté 1/5 1-3 heures Accessibilité débutants 78/100
QueryaHub/Querya-Desktop#1637 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
QueryaHub/Querya-Desktop#1636 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement marketplace
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
QueryaHub/Querya-Desktop#1635 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de QueryaHub/Querya-Desktop
Issues similaires
-
[Bug] Web Guide has broken linksOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
AppFlowy-IO/AppFlowy#9075 ·
-
Paste asks for iOS paste permission because the default context menu ignores SystemContextMenuPeut-être pris @dorklein l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
maheshj01/searchfield#267 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
avdept/JellyBoxPlayer#375 ·
Les mainteneurs répondent en général sous 1 jour
-
bug good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
basictech01/uniun#300 ·
Les mainteneurs répondent en général sous 1 jour