Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

fix(macos): disabled Copy menu item; Seatbelt scratch path not canonicalised

Ouverte
#1,590 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

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
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
dart, flutter, macos
Domaine
desktop, security

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

bug P2 stability

Problems

  1. Copy menu item is disabled. In lib/features/macos/querya_platform_menu_bar.dart Copy is const PlatformMenuItem(label: 'Copy', shortcut: ...) with no onSelected, which Flutter renders as a disabled item. Cut / Paste / Select All call Actions.maybeInvoke. Cmd+C may not work reliably while a text field is focused.
  2. Seatbelt scratch path is not canonical. SandboxScratchDirectory uses Directory.systemTemp (/var/folders/...); /var is a symlink to /private/var, and Seatbelt subpath matches the resolved path, so (allow file-write* (subpath "<scratch>")) likely never matches and the extension cannot write to its scratch dir.
  3. Seatbelt profile is looser than documented (buildMacOsSeatbeltProfile): (allow mach-lookup), (allow process*) and (allow file-read*) outside /Users, and scratchPath / extensionRoot are interpolated into the profile without escaping quotes (see also #1560).

Tasks

  • Copy: add an onSelected using CopySelectionTextIntent.
  • Resolve symlinks for scratch and extension roots before building the profile; add a test with a /var path.
  • 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

Ouvrir dans Codespaces

Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de QueryaHub/Querya-Desktop

Toutes les issues de QueryaHub/Querya-Desktop

Issues similaires

Plus d'issues Dart

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.