kkapsner / keepassxc-mail

MailExtension to talk to keepassxc
GNU General Public License v3.0
62 stars 5 forks source link

Passwords must be entered at each Thunderbird startup. #62

Closed NicoPy closed 2 years ago

NicoPy commented 2 years ago

I've just switched from Keepass 2.x to KeepassXC on my Windows 10 machine.

I've installed KeepassXC-Browser plugin to Firefox. It works correctly.

I've installed keepassxc-mail plugin to Thunderbird following the installation guide. The connection with KeepassXC is OK.

There are already registered entries in my database (registered with Keebird when it was working with Keepass) for all my e-mail, caldav and carddav accounts. However, KeepassXC/keepassxc-mail do not find them. I guess the url registered in the database is not compatible with KeepassXC.

My problem is that all passwords are asked again at each Thunderbird startup.

When I try to enter a password, I get this dialog box : image

Of course, nothing is saved in the database. However, I can use the account (send and receive).

How can I solve this problem ?

Note : I'm using Thunderbird 91.9.1 (64 bits)

NicoPy commented 2 years ago

By manually modifying the database entries, keepassxc-mail now automatically fills the login/password at Thunderbird startup. However, the bug described in my original post remains.

kkapsner commented 2 years ago

I can reproduce your problem. It seems that Thunderbird got slower at opening the modal dialog. I have to loosen the timings.

fdw commented 2 years ago

I'm experiencing the same non-functional dialogs in Thunderbird 91.10.0, keepassxc-mail 1.0.1. Any idea how to fix this?

kkapsner commented 2 years ago

I'm working on it. I will release a new version soon.

kkapsner commented 2 years ago

Version 1.0.2 is submitted to addons.thunderbird.net

johannes-hafner commented 1 year ago

Commenting on this existing issue as I do think what I am experiencing is the exact same problem again with the latest (1.4) version of the plugin:

When I open thunderbird, keepassxc-mail ist not working for the first password prompt. If I either enter the password manually or click cancel, it will work from now on, it's just the first prompt that doesn't work.

However I noticed it will not occur if I disable all (or somtimes most) other addons - therefore I assume it relates to increased startup times when other addons are loaded. I could however not figure out a single addon that causes this, it just seems to be the sum of all of them (12 addons including keepassxc-mail).

kkapsner commented 1 year ago

Unfortunately this a known issue that I cannot solve. It's a racing condition between the extension being loaded and the first password request being triggered.

johannes-hafner commented 1 year ago

Is there anything I can do on my end, config wise? If I understad this correctly, it should be sufficient to delay thunderbird trying to establish IMAP connections until after all extensions have been loaded. Any way to achieve this (for obvious reasons not using any extensions)?

mdonz commented 1 year ago

I am experiencing this randomly (password prompt to be cancelled or no prompt shown) and would love a solution. I have no password stored locally in Thunderbird (Ubuntu 22.04, keepassxc-mail 1.4) and use various imap accounts, CalDAV calendars and a CardDAV based address book. Apart from this (a little) annoying random password prompt, this works perfectly and I highly appreciate the quality work of the add-on author and his ongoing development.

Have not found any settings or "habit change" i.e. what kind of tab to have open at TB startup time, that would impact this to a predictable behaviour. I can handle it but want to offer this as a solution to business users (trying to convince them away from Outlook with the benefits of Open Source and the beauty of this fully integrated, secure approach of not storing passwords in the apps).

I would love to hear that the TB developers get involved to address that at their end which is necessary as far as I understand.

On 28/03/23 05:13, johannes-hafner wrote:

Is there anything I can do on my end, config wise? If I understad this correctly, it should be sufficient to delay thunderbird trying to establish IMAP connections until after all extensions have been loaded. Any way to achieve this (for obvious reasons not using any extensions)?

— Reply to this email directly, view it on GitHub https://github.com/kkapsner/keepassxc-mail/issues/62#issuecomment-1485425139, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKCYQABYNHZTUYGEOWZCHJLW6G4A7ANCNFSM5XIGR7TA. You are receiving this because you are subscribed to this thread.Message ID: @.***>

kkapsner commented 1 year ago

@johannes-hafner: I'm not aware of a solution. I have it when I enable a specific calendar (but works with other calendars). Maybe a fresh profile could help?

@mdonz: maybe @jobisoft could give some hints. But to proceed with this you should open a new issue.

Maybe a ticket at bugzilla so have a setting to wait for password prompts after all extensions are loaded could solve the problem (https://bugzilla.mozilla.org/show_bug.cgi?id=1611700 does not have any traction - I do not even have a priority yet).

jobisoft commented 1 year ago

Maybe a ticket at bugzilla so have a setting to wait for password prompts after all extensions are loaded could solve the problem (https://bugzilla.mozilla.org/show_bug.cgi?id=1611700 does not have any traction - I do not even have a priority yet).

I have the bugs in bugzilla on my radar, but I was not able to get to that yet.

I do see a catch22 here: add-on startup (code execution in background) is delayed in TB102 till after the app is ready. So the password prompt probably cannot wait till keypass is done. But having a manifest entry could tell the prompt that there are other sources to check. This is somewhat complicated.

kkapsner commented 1 year ago

I like the idea of having it being controlled by a manifest entry.

This is somewhat complicated.

I can imagine that. For my experiment I frequently have to look at the code of the prompts...

@jobisoft: a bugzilla entry would be necessary for such a change, right?

johannes-hafner commented 1 year ago

I have it when I enable a specific calendar (but works with other calendars). Maybe a fresh profile could help?

I did actually already try a new profile. It worked for a while, but the more things I configured, the less likely it was to work. Seems valid, considering a longer startup time makes the addon fail to load in time.

So yes, disableing some features changes behavior, but even at the bare minimum of "I need this thing to be able to work" it's already too much for the prompt to work. This DOES include calendars, but also some addons and a total of four email accounts. I realize this is likely not the average user, but nothing too crazy either.

kkapsner commented 1 year ago

It works for me with three accounts...

mdonz commented 1 year ago

FWIW, I have currently 5 imap email accounts in Thunderbird but only my main account is using a tick box (under server settings) to "check for new messages every 15 minutes". All other accounts do neither have this in use nor the "check for new messages at startup". I had hoped for this to minimise any chance of race condition at Thunderbird startup.