microsoft / microsoft/vscode-pgsql

Dev container connections lose SecretStore entry on rebuild

Aperta
#246 0 commenti 2 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

bug
Lingua principale
Nessun dato sulla lingua
Stelle
395
Fork
33
Merge medio
1h 46m
PR unite (30g)
3

Descrizione

Summary

When a workspace connection profile is stored in .vscode/settings.json with a
password field, the extension automatically strips the plaintext password from
the file (expected — plaintext passwords shouldn't be committed). However, when a
Dev Container is rebuilt or VS Code re-establishes the remote connection, the
corresponding SecretStore entry is not present, leaving the connection in a broken
state until the user manually opens the connection editor and re-saves.

Steps to reproduce

  1. Add a connection profile to .vscode/settings.json (or check one in) with a
    password field populated.
  2. Open the workspace in a Dev Container.
  3. Observe the password field is immediately stripped from settings.json by the
    extension (expected behavior).
  4. The connection is shown as errored in the extension — it has no password to use.
  5. Open the connection editor in the extension UI, make no changes, and click Save.
  6. The connection now works (SecretStore entry is created).
  7. Rebuild the Dev Container (e.g., to update a dependency or add an extension).
  8. After rebuild, the connection is broken again — back to step 4.

Expected behavior

On first activation of a connection profile from workspace settings, the extension
should prompt for the password and store it in SecretStore — or otherwise surface
a clear recovery path — rather than silently leaving the connection in an errored
state. Subsequent cold starts (e.g., container rebuild) should also trigger this
flow if no SecretStore entry exists for the profile.

Actual behavior

The connection is left silently broken. The only workaround is to open the
connection editor and re-save, which is not obvious and must be repeated on every
container rebuild.

Workaround

Open the connection via the extension UI → Edit → Save (no changes needed). This
creates the SecretStore entry and the connection begins working. Must be repeated
after each container rebuild.

Environment

  • Extension version: v1.19.0 (pre-release)
  • VS Code: remote / Dev Container
  • Connection storage: .vscode/settings.json (workspace scope)

Related

  • Closes #191 (the connection-storage-in-workspace-settings feature request, now
    shipped — this is a follow-on friction point in the devcontainer flow)
  • Related: #143 (password retrieval via custom mechanism)

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

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.

Direzione di ricerca

Inizia con il flusso di connessione di .vscode/settings.json con ambito workspace e la prima attivazione dopo una ricostruzione di Dev Container. Traccia il modo in cui l’editor delle connessioni crea la voce SecretStore e il modo in cui l’estensione gestisce una voce mancante. Il lavoro è completato quando un container ricostruito richiede la password oppure mostra un percorso di recupero chiaro, e la connessione non fallisce più silenziosamente.

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

Valutazione

Stack tecnologico
postgresql, vscode
Ambito
authentication, devtools
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
48/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.