SchildiChat / schildichat-desktop

Matrix client / Element Web/Desktop fork
https://schildi.chat
Apache License 2.0
371 stars 42 forks source link

gnome-keyring and password change #193

Closed LupeChristoph closed 7 months ago

LupeChristoph commented 1 year ago

After I recently changed my Linux password, SchildiChat started complaining about my "login keyring". My WHAT?

The password you use to log in to your computer no longer matches that of your login keyring.

BTW, I had to photograph this pop-up because it blocked all interaction outside itself, like starting a screenshot tool :-(

After some searching I found out that this refers to the gnome-keyring. After I removed the file .gnome2/keyrings/login.keyring, the pop-up changed to requesting a new password.

I remove-purged the gnome-keyring package (I on KDE), but this did not change.

Now I have to questions and a request:

kloenk commented 1 year ago

Schildichat (and element) uses the node package keytar. This is most likely some error from there. Unsure what exactly triggers it

vikanezrimaya commented 1 year ago

I believe this is not related to SchildiChat at all, but rather to how GNOME Keyring (and similar secret storage APIs, like KDE's KWallet (which does support secret storage D-Bus API too)) are structured.

The login keyring is encrypted with your login password. The program you used to change the password didn't re-encrypt the login keyring, and it didn't get unlocked -- and I guess a locked keyring produced this message. If you would enter your previous password, the login keyring would unlock and allow you to proceed.

Since you're on KDE, why aren't you using KWallet for secret storage anyway? KWallet supports the Secret Storage API too, and I'm using both Element and Schildichat with it with no problem.

LupeChristoph commented 1 year ago

Schildichat (and element) uses the node package keytar. This is most likely some error from there. Unsure what exactly triggers it

As far as I could determine, keytar is an NPM package, and I'm very sure I did not fiddle with Javascript.

Since you're on KDE, why aren't you using KWallet for secret storage anyway? KWallet supports the Secret Storage API too, and I'm using both Element and Schildichat with it with no problem.

I am using Kwallet. I've never before come in contact with gnome-keyring. That's why it took me quite a while doing quite some searches to find it.

And - incidentally - I have changed my password before without anything mentioning a keyring.

The login keyring is encrypted with your login password. The program you used to change the password didn't re-encrypt the login keyring, and it didn't get unlocked -- and I guess a locked keyring produced this message. If you would enter your previous password, the login keyring would unlock and allow you to proceed.

I've used /usr/bin/passwd to change the password, i.e. no fancy things that directly change /etc/shadow or so. But since I don't use a Gnome environment, only a few programs like Pidgin (which I'm abandoning now because I never liked it, but it was the best choice for Jabber), your explanation is very likely spot-on. Alas, it does not explain why SchildiChat was the first and only program to trigger this problem.

So this is specific to SchildiChat. Maybe to SchildiChat on Kubuntu 22.10 or interacting with some of the Gnome packages I added.

github-actions[bot] commented 8 months ago

This issue is stale because it has been open 150 days with no activity. Remove stale label or comment or this will be closed in 14 days.