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

オープン
#9,919 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
55/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
静か
技術スタック
python
領域
desktop, security

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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
主要言語
Python
スター
3.9k
フォーク
918
平均マージ
2日 12時間
マージ済み PR(30日)
35

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

pgadmin-org/pgadmin4 のほかの issue

pgadmin-org/pgadmin4 の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。