-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Database error when switching from KDE to hyprland #6962
Comments
Hi, sorry this is happening for you. Could you try this: be on hyprland and make sure kwallet is running, then start signal-desktop with the command line flag |
Hey, yup that works! Signal starts up normally on hyprland with that flag. Thanks! |
glad to hear it! we'll update it so the dialog becomes a little more helpful |
I have the same trouble since the last update of signal-desktop. But I don't want to grant access to kwallet (it's asking for "kdewallet") for signal-desktop. How did it work before, how can I get back to a (presumed) file-system based password-store? |
@github-signalapp-msf This is because of a recent change to use your OS's secure password storage to store the secret used to encrypt your local database. |
@jamiebuilds-signal many thanks for the explanation. It helped my to get a bit further towards my goal of signal being independent from the desktop environment (gnome, various versions of kde). I see a valid use case for users to (temporarily) migrate back to |
I'm also having this problem and also can solve it with the above method. I'm just curious if I will always have to pass this flag. Will there be an update at some point that saves the password store option? |
@embeddedpenguin Currently you need to always pass the flag, sorry about that. A workaround would be if you have a file that launches the app, to append the command line flag. It's a good idea to persist the last used keyring backend, so we can auto select it on app start. We'll work on doing that. |
No need to apologize, just wanted to make sure aliasing with that flag was the right play for right now. Thank you for signal. |
This just bit me. And it will bite a lot of other people, since Plasma 6 is out, Plasma 5 is deprecated. |
It's a good point that we need the ability to migrate between secret stores. We are planning to add it. Regarding libsecret, it can be selected with the command line flag |
Starting Signal with the flag wasn't enough: signal-desktop --password-store="gnome-libsecret". I uninstalled and reinstalled Signal. It insists on switching to the "previous desktop environment", which I don't want to do. I'm using the Gnome desktop environment on Ubuntu, and only temporarily used X11, which is when the problem occurred. What else should I try? |
@iqtedar First, switching beck and forth between window managers (like you said, Gnome and X11) will cause problems because Desktop will try to access its decryption key from the previous window manager's secure storage. Next, make sure that you're on the very latest flatpak version, because they've made some fixes recently. Lastly, did you know that the flatpak folks believe that any encrypted storage mechanism is risky? Perhaps you could consider installing Signal from the official apt repo? https://signal.org/download |
Is there an issue to follow for a proper fix such as the one mentioned above #6962 (comment) ? I wouldn't expect a workaround to be considered a solution. For anyone else dealing with this on Nix, the workaround can be applied transparently by replacing the (pkgs.symlinkJoin {
name = "signal-desktop";
paths = [ pkgs.signal-desktop ];
buildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/signal-desktop --add-flags --password-store="kwallet6"
'';
}) |
@dyercode Thank you for figuring out a Nix workaround. For secret store migration, I checked all the issues and it seems like this one would be most appropriate for tracking, so we'll reopen it until migration is implemented. |
This just bit me in the ass too after upgrading to Plasma 6. There is no longer I don't understand what purpose this feature serves. It seems to me the program is going out of its way to break? |
You need to use the flag --password-store="kwallet5" when starting it. |
I got the same thing after upgrading to plasma 6 as well, this indeed works but looks more like a workaround than a solution. Since only kwallet6 is installed, it feels very counter-intuitive to ask for kwallet5 that is just not anywhere on the system. |
Well, I am pretty sure that Plasma 6 contains kwallet5 for now because not everything is ported yet. For now, at least. |
The only kwallet package I have is 6.6. There is a libpam-kwallet5 package but it's a 6.1.5, so maybe a compat package 🤷🏻♂️ |
For the guys that struggle after KDE6 update:
Source: https://forums.gentoo.org/viewtopic-p-8841636.html?sid=21c475171c7c7349dbbf3066f2612459 |
Thank you. That's a good enough solution for now. Still, I would prefer to migrate the data to libsecret (KeepassXC) but I can't find the right field in the kwallet. I'll just wait for the migration feature. For now, this is good enough for me. |
Using a supported version?
Overall summary
When signal is started once on KDE plasma , it stops working on hyprland completely.
The only way to fix it, is to remove everything from
.config/Signal
and re-link the device, then never start Signal on Plasma.The error message is:
Following the instructions, it is indeed possible to start Signal on Plasma, however this means I cannot ever start Signal on any other desktop environment. Obviously, this is not really a solution.
Even if I auto start kwallet on hyprland before anything else starts, the same issue persists.
Steps to reproduce
Expected result
Signal starts normally, without any errors.
Actual result
Signal doesn't start, only shows an error box.
Screenshots
Signal version
7.18.0-1
Operating system
Arch Linux
Version of Signal on your phone
7.9.6
Link to debug log
No response
The text was updated successfully, but these errors were encountered: