Skip to content

fix(secrets): lazily adopt legacy keyring secrets on read with write-through (#1008) - #1016

Merged
ZhuchkaTriplesix merged 1 commit into
devfrom
issue/1008-lazy-keyring-migration
Sep 27, 2026
Merged

ZhuchkaTriplesix merged 1 commit into
devfrom
issue/1008-lazy-keyring-migration

Conversation

@ZhuchkaTriplesix

Copy link
Copy Markdown
Member

Summary

Fixes #1008.

  • In ConnectionSecretsStore.readForConnection, when either the password or connection string is not found under the namespaced key (e.g. because transient OS keyring locks or D-Bus timeouts interrupted the one-time DB upgrade migration), lazily check the legacy unnamespaced keys.
  • If legacy secrets are found, write-through to the namespaced key immediately and clean up the legacy key, ensuring saved passwords are never stranded.
  • In ConnectionSecretsStore.deleteForConnection, also ensure legacy keys are cleaned up to prevent them from being resurrected.
  • Added regression tests in test/core/storage/local_db_profile_secrets_test.dart verifying on-demand lazy adoption and deletion.

Closes #1008

@github-actions github-actions Bot added bug Something isn't working core Core library logic and services connections Database connections, URI parsing, pools labels Sep 27, 2026
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit 58231f9 into dev Sep 27, 2026
4 checks passed
@ZhuchkaTriplesix
ZhuchkaTriplesix deleted the issue/1008-lazy-keyring-migration branch September 28, 2026 08:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working connections Database connections, URI parsing, pools core Core library logic and services

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant