Make password storage optional

Continuing the problem and discussion from #681, it seems that development in Mailspring’s dependencies regarding that issue has mostly stalled. I reckon something can still be done here, though.

Could you make it an option to not store passwords on disk at all?

It seems that node-keytar relies on libsecret on Linux, and libsecret in turn relies on gnome-keyring, as the only full/viable existing implementation of the org.freedesktop.secrets DBus functionality.

For me, as a KDE Plasma user, installing gnome-keyring, or using any of the few workarounds that I’ve found for this problem, is undesirable. I would simply prefer Mailspring to not store my password offline, and to only hold it in RAM while I’m logged in, for the purpose of continuous sync. FWIW, it is an option in Thunderbird.

(Originally posted by outfrost on GitHub.)

(Original post had 5 upvotes.)

Hey! Hmm, technically this wouldn’t be too hard really… the app essentially just reads your passwords from the keychain and hands them off to the sync workers that open the IMAP connections. I’ll take a closer look and see. I think the trickiest part is that it essentially means inserting a delay where the sync process hasn’t been started / given a password yet, and the app might be a little unstable in that state. Will take a look…

(Originally posted by bengotow on GitHub.)