Password Management Error after the latest Upgrade

@ipkpjersi @jwoertink @3v1n0 @sdanckert1 @lostinafro @XZillA @jerjako @DawoodMorris

Did anyone of you try to completely uninstall Mailspring (deleting all its configuration), rebooting the machine and then installing Mailspring version 1.12 via snap freshly? I don’t understand why, but this seems to have resolved the issue for me on my test system.

sudo snap remove mailspring
sudo snap install mailspring

This all still looks quite random to me, so any further information (especially if it works sometimes and othertimes not) are really helpful.

I also have no issues with the .deb version of Mailspring, so if you need a workaround while we are trying to resolve the issue in the snap, that might be something. You can try copying over your config.json file from the snap to your .deb installation to keep your account setup.

cp ~/snap/Mailspring/common/config.json ~/.config/Mailspring/config.json
1 Like

As for me, downloading and installing the .deb file fixes the problem.

I did this and so far all is good.

@Phylu

I had the same problem as other users with version 1.12.0. My OS is Ubuntu 22.04 and I installed the app with snap. So as you suggested, I removed the version with snap but installed the version with the .deb package and it’s working.

I have the feeling that there is some kind of strange race condition in the setup. I was repeatedly able to open mailspring correctly with some instances where I could not open it at all on Zorin OS which looks similar to the issues on Pop OS, getting the error

Error: Could not call remote method 'decryptString'. Check that the method signature is correct. Underlying error: Error: Error while decrypting the ciphertext provided to safeStorage.decryptString.Underlying stack: Error: Error while decrypting the ciphertext provided to safeStorage.decryptString.

I tried fixing this using the suggestion as of [SNAP] Update to gnome extension and core22 by soumyaDghosh · Pull Request #2464 · Foundry376/Mailspring · GitHub but this did not produce any positive effects.

Hey folks, thanks for reporting this - I’ve been looking into the Electron internals and I’m hoping we can get this fixed very soon. One interesting note is that the error most folks are seeing in this thread:

Error: Could not call remote method 'decryptString'. Check that the method signature is correct.

Is actually not one of the errors that is generated by the Electron safeStorage APIs (found here)
https://github.com/electron/electron/blob/2c03b8fd6be5029dce0a78849860e5f57a3b3026/shell/browser/api/electron_api_safe_storage.cc#L84

I think that you’re correct @Phylu and this is some sort of race condition of electron-remote error, and may not be related to the key storage setup on Linux.

Hey folks,

We’ve released Mailspring 1.13.0, which addresses issues with the snap build of 1.12.0. I was able to reproduce the issues reported above, where the snap was able to write your passwords but not read them after a restart, causing it to succeed on the first run and then get into an invalid + broken state after quitting + restarting.

I fixed it by copying snapcraft.yaml configuration from the chromium snap, which I observed was reading / writing from the keychain successfully. They were building libsecret into the snap explicitly, which did the trick for us as well.

If you snap refresh mailspring, you’ll get the new revision which addresses these issues. If your Mailspring install is broken, you’ll launch into a bit of a mess and I’m really sorry for the hassle. You’ll need to:

  • Go to Preferences > Subscription and sign in to your Mailspring identity again to enable read receipts, send later, etc. (If you were signed in previously).

  • Go to Preferences > Accounts and click “Reconnect” or “Re-authorize” for each account that is shown in red or having connection difficulty.

Thankfully, with this upgrade Mailspring is running on Electron 22 and the new safeStorage APIs, which gives us a clear path forward and makes it much easier to incorporate upstream security patches and updates. I appreciate everyone’s patience and I’m sorry this has been a rocky update.

3 Likes

Updating to Snap v1.13.1 in Ubuntu 23.10 did solve the issue.

Thanks!

1 Like

Thanks, the issue was solved as well for me with the 1.13.1. I was able to reconnect all my accounts. Have a good day :slight_smile:

1 Like

Thank you, snap version 1.13.1 on Ubuntu 20.04 works perfectly now.

1 Like

Snap only: If you have installed Mailspring via the snap package, ensure that Mailspring is able to access your operation system’s key storage to encrypt your e-mail account credentials. To do so, run sudo snap connect mailspring:password-manager-service in a terminal.

Please remove this statement, this is not true anymore and just opens a security hole.

See also snap: Force usage of libsecret everywhere and remove password manager service plug by 3v1n0 · Pull Request #2477 · Foundry376/Mailspring · GitHub

@3v1n0 Thanks for the hint. I removed the passage from the post.

1 Like

Hi, I’m unable to make a fresh install work; I’ve tried many turnarounds but I’m still stuck :confused:

Running Linux EndeavourOS (arch-based), installed with AUR (Arch User Repository). Not sure if I upgraded from .11 or .12

First I updated Mailspring from AUR to 1.13.1, got same error as 3v1n0 (Nov 15th) when trying to log in into MailspringID in preferences. When I saved & removed the config folder, I was stuck to the welcome steps (error message, translated from French, is like “Mailspring could not securely store your password”). I removed & reinstall Mailspring from AUR and got same errors depending if I put back the config folder.

Then I tried the snap version (1.13.1), install, refresh, remove, install… I cannot get through the welcome menu. I get this message:
Error: Could not call remote method 'encryptString'. Check that the method signature is correct. Underlying error: Error: Error while decrypting the ciphertext provided to safeStorage.decryptString. Encryption is not available.Underlying stack: Error: Error while decrypting the ciphertext provided to safeStorage.decryptString. Encryption is not available.

Side note, probably not relevant: with snap, I also get some error messages from Gtk such as Failed to load module "xapp-gtk3-module" and “canberra-gtk-module” (my wm is i3, not gnome-based)

Thanks for your help

@whitenoise565 Please check out the information about “other desktop environments” here: Password Management Error - #2 by system

@Phylu Thanks for the quick answer, I had both packages already installed. I reinstalled them just in case but nothing changed

The important part should be, to run mailspring --password-store="gnome-libsecret"

@Phylu Thank you very much! It’s working and I even retrieved my settings & config. Have a nice day

@whitenoise565 were you able to fix permanently or do you always have to launch from CLI with the password-store switch? I am also trying to get this to work on EndaevourOS and am stuck, it only works if I open directly from terminal with password-store.

I have attempted to add an environment variable to set this globally for all chromium applications. Here is the feature request, linked there is also the code review:
https://bugs.chromium.org/p/chromium/issues/detail?id=1511773
If you would like to have this solution please help give this more exposure.

This issue is still occurring with the flathub version of mailspring as listed over here: Lib-No more-Secret by prateekmedia · Pull Request #35 · flathub/com.getmailspring.Mailspring · GitHub

1 Like