1.2.4 Breaks Secret Service on KDE

Description

When updating our (Solus) package for Mailspring 1.2.4, after installing and testing we get the old error saying “Mailspring requires a secret service…” on KDE PLasma 6.7.5 This was not an issue on the previous versions. It is not seeing or accepting kwallet when updating existing installs.

Screenshots

Setup

  • Solus 4.9 KDE 6.7.4:
    • Installation Method: Distro Package
  • Mailspring Version: 1.2.4

Additional Context

This comes down to something that was changed in 1.2.4 from 1.2.3. It no longer sees kwallet and is looking on

This comes down to something that was changed in 1.2.4 from 1.2.3. It no longer sees kwallet and is looking only at Freedesktop and Flatpak for some reason. Previously it would just install and go no matter which desktop.

I will try to dig more into it, but it is an issue that did not exist previously

@bengotow probably related to the key store changes mentioned on the changelog.

Hey folks thanks for reporting this - I think you’re right that it’s related to key-manager: use async safeStorage API by LinusDierheimer · Pull Request #2823 · Foundry376/Mailspring · GitHub. @BlueManCZ might be able to weigh in, I’ll see if I can set up a repro for testing this morning.

Could you running these commands locally and reporting back @clintre?

echo "$XDG_CURRENT_DESKTOP / $KDE_SESSION_VERSION"
busctl --user list | grep -i kwallet
mailspring --enable-logging=stderr --v=1 --vmodule="*os_crypt*=2" 2>&1 | grep -i "crypt\|kwallet"
mailspring --password-store=kwallet6     # if this fixes it, it's detection

This should help narrow down what’s going on here.

Yes, as I was looking into it and was coming back here to post it does seem to come back to the change in the key-manager. Here is the output.

echo “$XDG_CURRENT_DESKTOP / $KDE_SESSION_VERSION”
busctl --user list | grep -i kwallet
mailspring --enable-logging=stderr --v=1 --vmodule=“os_crypt=2” 2>&1 | grep -i “crypt|kwallet”
mailspring --password-store=kwallet6
KDE / 6
:1.53                                             2696 kwalletd6       ce   :1.53         user@1000.service -       -
:1.54                                             2696 kwalletd6       ce   :1.54         user@1000.service -       -
org.freedesktop.impl.portal.desktop.kwallet       1924 ksecretd        ce   :1.16         session-2.scope   2       -
org.kde.kwalletd                                  2696 kwalletd6       ce   :1.53         user@1000.service -       -
org.kde.kwalletd5                                 2696 kwalletd6       ce   :1.53         user@1000.service -       -
org.kde.kwalletd6                                 2696 kwalletd6       ce   :1.53         user@1000.service -       -
org.kde.kwalletmanager                               - -               -    (activatable) -                 -       -
Running database migrations
App load time: 157ms
/usr/share/mailspring/resources/app.asar.unpacked/mailsync.bin: /usr/lib/libcurl.so.4: no version information available (required by /usr/share/mailspring/resources/app.asar.unpacked/mailsync.bin)

{“error”:null}
(node:29771) [DEP0169] DeprecationWarning: url.parse() behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for url.parse() vulnerabilities.
(Use mailspring --trace-deprecation ... to show where the warning was created)
Manual update check (updates.getmailspring.com/check/linux/x64/1.24.0-8e121c64/1e74927a-f76d-493c-a462-5f62bd2d9bfd/stable) returned 204
(node:29771) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated.