From c888b52ebb3050d83cc3a5b02c29af7edb1a29ab Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Wed, 15 Jan 2025 10:02:21 +0100 Subject: [PATCH] rely on the cache directly after unlock and inject in the cache on keychain changes --- .../java/org/cryptomator/common/keychain/KeychainManager.java | 2 +- .../keyloading/masterkeyfile/MasterkeyFileLoadingStrategy.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/cryptomator/common/keychain/KeychainManager.java b/src/main/java/org/cryptomator/common/keychain/KeychainManager.java index c9cfeac6f..34639b398 100644 --- a/src/main/java/org/cryptomator/common/keychain/KeychainManager.java +++ b/src/main/java/org/cryptomator/common/keychain/KeychainManager.java @@ -101,7 +101,7 @@ public class KeychainManager implements KeychainAccessProvider { } private void setPassphraseStored(String key, boolean value) { - BooleanProperty property = passphraseStoredProperties.getIfPresent(key); + BooleanProperty property = passphraseStoredProperties.get(key, _ -> new SimpleBooleanProperty(value)); if (property != null) { if (Platform.isFxApplicationThread()) { property.set(value); diff --git a/src/main/java/org/cryptomator/ui/keyloading/masterkeyfile/MasterkeyFileLoadingStrategy.java b/src/main/java/org/cryptomator/ui/keyloading/masterkeyfile/MasterkeyFileLoadingStrategy.java index ebb05ab61..3f9d5ba78 100644 --- a/src/main/java/org/cryptomator/ui/keyloading/masterkeyfile/MasterkeyFileLoadingStrategy.java +++ b/src/main/java/org/cryptomator/ui/keyloading/masterkeyfile/MasterkeyFileLoadingStrategy.java @@ -113,7 +113,7 @@ public class MasterkeyFileLoadingStrategy implements KeyLoadingStrategy { private void savePasswordToSystemkeychain(Passphrase passphrase) { try { - if (keychain.isSupported() && !keychain.isPassphraseStored(vault.getId())) { + if (keychain.isSupported() && !keychain.getPassphraseStoredProperty(vault.getId()).getValue()) { keychain.storePassphrase(vault.getId(), vault.getDisplayName(), passphrase); } } catch (KeychainAccessException e) {