Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

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

Offen
#1,590 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
42/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
dart, flutter, macos
Bereich
desktop, security

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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.

Vorherrschende Sprache
Dart
Sterne
23
Forks
1
Ø Merge
31 Min.
Gemergte PRs (30 T.)
570

Entwicklungsumgebung

In Codespaces öffnen

Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus QueryaHub/Querya-Desktop

Alle Issues in QueryaHub/Querya-Desktop

Ähnliche Issues

Weitere Issues zu Dart

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.