purejava/keepassxc-proxy-access

Cryptomator UI not showing up when automounting multiple vaults

Closed this issue · 6 comments

Please agree to the following

Summary

Cryptomator UI not showing up when automounting vaults

What software is involved?

  • Operating System: Arch
  • Cryptomator: 1.6.7 (aur)
  • Java: java-17-temurin (also tested with java-17-amazon-corretto)
  • KeepassXC: 2.7.0

Steps to Reproduce

  1. Create two (or more) vaults & store their respective passwords via the plugin in keepassxc
  2. Set the option to unlock vaults after startup (could also be done via settings.json) for at least two vaults
  3. Start Cryptomator

Expected Behavior

Cryptomator should start with vaults unlocked if they are selected for automount and the UI should be usable

Actual Behavior

The behavior is not consistent.
Often this will be the case:

  • One vault is unlocked but the UI is not showing.
  • Tray icon is loaded. The menu of the tray icon is reacting/showing but I cannot use any of the functions (i.e. lock/unlock anything)

Some other behaviors I have noticed while trying to pinpoint the cause of the problems:

  • One vault got unlocked but although the password of the second vault is in the database I was prompted to input the passphrase again
    • Of course I have searched for the vaults password in the database and I found two identical entries, that were stored by this plugin. I am not sure how this has happened and this might also be just an error of how I was using the plugin. Just wanted to mention this, since it might not be related to this issue
  • I was prompted to input a name for the association each time starting cryptomator

Reproducibility

Always

Relevant Log Output

No response

Anything else?

I have also played around a bit with the possibility of not explicitly locking the vaults before exiting cryptomator, although I cannot imagine that this would have any impact on the next startup or the database association of this plugin/cryptomator.
It feels somewhat non-determinsitic/non-reproducable ... like the behavior is changing by slight variations of vault/cryptomator usage.

On my desktop PC I have to use cryptomator-bin from the AUR to be able to even start cryptomator but the behavior with automounting multiple vaults is the same. Cryptomator won't start when multiple vaults have the automount option set.

Thank you for the report.

Cryptomator starts background threads for each vault that is configured for automount. These threads all send requests to retrieve the according passwords for the vaults to this plugin simultaneously, which block each other, as the plugin has only one socket / pipe to communicate with the KeePassXC backend.

The plugin needs to handle the threads accordingly.

Could you please re-test with keepassxc-cryptomator 1.1.1?

It should fix this issue.

Please note: in order to use the plugin with vaults intended to be opened with automount, KeePassXC must be associated with Cryptomator before enabling automount for a vault.

GPG cannot import the key 54CF8E1F55CE7E977A0E41895BFB2076ABC48776 right now (using the ubuntu keyservers)

Nevermind, got it from your website

Yes it works! Thank you very much!