[Snap] Show actionable warning when password-manager-service is not connected instead of falling back to master password silently

Aperta
#9,919 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 2 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
55/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
python
Ambito
desktop, security

Direzione di ricerca

Start in master_password.py at the NoKeyringError catch and follow how the master-password prompt is surfaced; reproduce the documented snap installation with the password-manager-service interface disconnected. Done means the unavailable keyring is explained, the snap command is suggested where applicable, and the master-password fallback is clearly identified.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Feature

Describe the bug / feature request

When pgAdmin 4 is installed via snap and the password-manager-service
interface is not connected, pgAdmin silently falls back to requiring a
master password with no explanation why.

Since pgAdmin 7.2+, the OS keyring is the default and preferred storage
for saved passwords in desktop mode. However, snap's strict confinement
prevents keyring access unless the user explicitly runs:

snap connect pgadmin4:password-manager-service

This is not documented anywhere in the app, and most users will never
find it. The only hint is in the pgadmin4-snap GitHub README, which most
users never read.

Expected behavior

When pgAdmin detects that the OS keyring is unavailable (e.g.
NoKeyringError), it should:

  1. Show a clear, user-friendly message explaining that the system keyring
    is not accessible
  2. On Linux snap installs specifically, suggest the fix:
    snap connect pgadmin4:password-manager-service
  3. Offer master password as a fallback option with explanation

Current behavior

pgAdmin silently falls back to prompting for a master password with no
explanation, leading users to spend significant time trying to disable
the master password via config files (which is impossible to do via
config_local.py on snap due to read-only filesystem and snap Python path
isolation).

Steps to reproduce

  1. Install pgAdmin via snap: sudo snap install pgadmin4
  2. Open pgAdmin
  3. Observe master password prompt with no explanation

Fix

The fix in master_password.py where NoKeyringError is caught could
be extended to surface a user-facing message. Additionally, requesting
auto-connect approval from the Snap Store team for the
password-manager-service interface would solve this entirely.

Environment

  • OS: Ubuntu (snap install)
  • pgAdmin version: 9.14
  • Package type: Snap
Lingua principale
Python
Stelle
3.9k
Fork
918
Merge medio
2g 12h
PR unite (30g)
35

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di pgadmin-org/pgadmin4

Tutte le issue di pgadmin-org/pgadmin4

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.