fix(macos): Keychain secrets fail without keychain-access-groups; use the login keychain
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 43/100
Línea de trabajo
Start with lib/core/storage/connection_secrets_store.dart and the flutter_secure_storage_darwin default at FlutterSecureStorageDarwinPlugin.swift:180; reproduce the reported read and write failure on macOS. Check the entitlements files named in the issue and test debug, unsigned release, signed and notarized, and ad-hoc builds. Done means credentials can be read and written using the login keychain, with existing data protection keychain items still readable or migrated.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
flutter_secure_storage_darwin defaults to usesDataProtectionKeychain: true (FlutterSecureStorageDarwinPlugin.swift:180), which needs the keychain-access-groups entitlement. None of DebugProfile.entitlements, Release.entitlements, ReleaseSigned.entitlements declare it, and lib/core/storage/connection_secrets_store.dart uses const FlutterSecureStorage() with no macOS options.
Expected on macOS: errSecMissingEntitlement (-34018) on write/read, surfaced as SecretsStoreUnavailableException ("Could not read the saved credentials from the system keyring").
Fix
Do not add keychain-access-groups to ReleaseSigned.entitlements: it is a restricted entitlement that needs a provisioning profile for Developer ID, and the app would fail to launch. Instead pass MacOsOptions(usesDataProtectionKeychain: false) (mOptions) so the file-based login keychain is used.
Tasks
- Reproduce on a real Mac (debug, unsigned release, signed release).
- Set
mOptions: MacOsOptions(usesDataProtectionKeychain: false). - Check existing installs: items written with the data protection keychain (if any) must still be readable, or migrated.
- Test on signed + notarized and on ad-hoc builds.
Found in the macOS review; confirm on device first.
- Lenguaje dominante
- Dart
- Estrellas
- 23
- Forks
- 1
- Merge medio
- 31 min
- PR fusionados (30 d)
- 570
Preparar el entorno
Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de QueryaHub/Querya-Desktop
-
enhancement ui
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
QueryaHub/Querya-Desktop#1689 ·
Los mantenedores suelen responder en 1 día
-
ui(dialogs): make destructive query and DML preview dialogs adaptive and prevent table name overflowAbiertobug frontend
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
QueryaHub/Querya-Desktop#1642 ·
Los mantenedores suelen responder en 1 día
-
bug error-handling settings
Dificultad 1/5 1-3 horas Aptitud para principiantes 78/100
QueryaHub/Querya-Desktop#1637 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
QueryaHub/Querya-Desktop#1636 ·
Los mantenedores suelen responder en 1 día
-
enhancement marketplace
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
QueryaHub/Querya-Desktop#1635 ·
Los mantenedores suelen responder en 1 día
Todos los issues de QueryaHub/Querya-Desktop
Issues similares
-
good-first-issue P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
flutter/dart-intellij-third-party#758 ·
Los mantenedores suelen responder en 1 día
-
Bug: Incorrect location coordinates on logged Sound Meter dataPosiblemente ocupada @Jashan32 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
area/archive bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
DarkFlippers/qUnleashed#374 ·
Los mantenedores suelen responder en 1 día
-
agent:in-progress agent:ready feature P2 · 中 区域: 悬浮窗
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
ASDW51/DanmuFloat#178 ·
Los mantenedores suelen responder en 1 día
-
Missing workoutsAbiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
InlitX/GymMane#237 · 1 comentario ·
Los mantenedores suelen responder en 5 días