-
Notifications
You must be signed in to change notification settings - Fork 37
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
Build libsecret without gcrypt #756
base: master
Are you sure you want to change the base?
Conversation
Started test build 150490 |
Build 150490 successful
|
On Fedora 40 this works. |
We should use the keyring as default again, and if it's possible, also recover the key from the |
Nice! With this change,
Does that mean, the underlying issue was on the |
It's nice that it's working. If it was not working with Gnome before, what's the point of flatpak? It's supposed to be agnostic and be able to run anywhere. Doesn't Ubuntu provide this library, or is it outdated maybe? I recommend a bit more testing, especially without the env var and its checking, so that it defaults to use the keyring if available, just like upstream. |
I guess this is just yet another part that is not (yet) agnostic.
|
libsecret uses a file based backend inside Flatpak specifically which is incompatible with how Chromium tries to use it. Disabling this compiles out that backend and it reverts to the usual DBus backend same as how it works outside Flatpak.
I don't think it's possible to do that |
The library was already present through the electron baseapp btw but it isn't compiled with |
117ef20
to
9df1b09
Compare
Great research @bbhtt, I guess!
Are the upstream (Electron/Chromium) devs aware of this?
With "electron baseapp", you're referring to this repo? Any specific reason to not add the |
Started test build 150509 |
I don't know if chromium/electron developers are aware, but libsecret has an issue open for a long time https://gitlab.gnome.org/GNOME/libsecret/-/issues/49 The fix is for Chromium to use the proper API.
There is no migration path between the backends, switching the backend will mean the app cannot retrieve the secrets anymore. Electron baseapp was using gcrypt backend ever since its inception. Disabling it now and switching it will break any app that depends on it. It doesn't matter for signal because it was using plain text before. |
Build 150509 successful
|
This uses the Dbus backend instead of the file based ones under Flatpak
9df1b09
to
2caf105
Compare
Started test build 150532 |
Not sure if it's related but Tutanota Flatpak that's based on Electron creates dummy entry in keyring because of the bug in Chromium. Not sure if it's related to this bug but here's the text of the entry:
|
No that's unrelated. |
Build 150532 successful
|
The relevant discussion (this thread) happended almost 3 years ago. There was no further activity in the issue after that. Hence I'd consider it plausible that Chromium/Electron development never got a scent of this... |
So then open an issue with Electron or what is preventing you from doing that? I don't know the technical details well enough here to describe the problem, so it would be great if one of you could do it. |
Expertness, mainly. But I tried my best: https://issues.chromium.org/issues/370535829 (the original culprit is Chromium, not Electron, if I'm not mistaken). |
@bbhtt This works here. Thanks v. much! |
@bbhtt Works for me, F40 👍 |
So I left it hanging for several hours and it wouldn't do anything, then hit ctrl+c to kill it and restarted the same command, and now the window opened just fine. 🤷 |
bot build Aha, that doesn't work in PRs I guess. Are the expired test builds still available anywhere? |
bot, build You need the comma for it to work. |
Queued test build for org.signal.Signal. |
Started test build 157016 |
Build 157016 successful
|
Started test build 157026 |
Build 157026 successful
|
Started test build 158290 |
Build 158290 successful
|
would be great if we could get this merged. There should be no downsides to non-gnome users I think, and gnome users will be able to finally utilize the safeStorage API. Thanks a lot for your investigation @bbhtt! |
Started test build 161704 |
Build 161704 successful
|
bot, build |
Queued test build for org.signal.Signal. |
Started test build 163206 |
Build 163206 successful
|
Started test build 163231 |
Build 163231 successful
|
Indeed this solves the issue. Honestly have no clue why this wasn't considered in the very beginning. Most of the distros come either with gnome-keyring or KDE pre-installed. Leaving a simple text-file should've been only in the case that these systems are not support, as leaving everything unencrypted is a major privacy flaw. Can confirm that for me on F41 this issue is finally solved, thanks @bbhtt for fixing this, have build the signal app from this MR is and it's working flawlessly! |
@bbhtt is there anything felt to do until it's merged? It appears that it works for people including me. |
Started test build 163943 |
Build 163943 successful
|
this latest version is working fine, i wonder what's taking so long for this to get merged |
If you previously had
basic
storage, run it asflatpak run --env=SIGNAL_PASSWORD_STORE=gnome-libsecret org.signal.Signal
and check if it's storing in the keyring correctly.