posit-dev / publisher

MIT License
3 stars 0 forks source link

fix: creates ephemeral keyring when dbus unavaiable #1824

Closed tdstein closed 2 weeks ago

tdstein commented 2 weeks ago

Intent

When running in Posit Workbench, the dbus-launcher executable is not installed. This executable is a dependency of Gnome Keyring. This change creates an ephemeral solution using the keyring.MockInit() function. Generally, this is used for unit testing, but it works for this situation.

In the future, we could implement a persistent on-disk solution.

Type of Change

Approach

Automated Tests

Directions for Reviewers

Checklist

tdstein commented 2 weeks ago

The temporary key ring is created on the first error and persists for the duration of the process. So this allows Workbench to successful use credentials for the length of a session. Once the user restarts the session, the credentials are wiped. We will need a better solution long term for Workbench.

dotNomad commented 2 weeks ago

The temporary key ring is created on the first error and persists for the duration of the process. So this allows Workbench to successful use credentials for the length of a session. Once the user restarts the session, the credentials are wiped. We will need a better solution long term for Workbench.

Ah that is very nice. We will need something better, but this is a great temp fix. I assumed keyring.MockInit() was initializing a new keyring every time. I didn't realize it was persistent. That is fantastic.