pgadmin-org / pgadmin-org/pgadmin4
[Snap] Show actionable warning when password-manager-service is not connected instead of falling back to master password silently
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 3.8k
- Forks
- 891
- Avg merge
- 4d 7h
- Merged PRs (30d)
- 8
Description
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:
- Show a clear, user-friendly message explaining that the system keyring
is not accessible - On Linux snap installs specifically, suggest the fix:
snap connect pgadmin4:password-manager-service - 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
- Install pgAdmin via snap:
sudo snap install pgadmin4 - Open pgAdmin
- 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
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
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.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- desktop, security
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100