Merge pull request #4025 from purejava/new-secret-service

New keychain backend SecretService for Linux
This commit is contained in:
Armin Schrenk
2026-02-17 13:16:06 +01:00
committed by GitHub
2 changed files with 3 additions and 7 deletions

View File

@@ -153,11 +153,6 @@ public class Settings {
@SuppressWarnings("deprecation")
private void migrateLegacySettings(SettingsJson json) {
// migrate renamed keychainAccess
if(this.keychainProvider.getValueSafe().equals("org.cryptomator.linux.keychain.SecretServiceKeychainAccess")) {
this.keychainProvider.setValue("org.cryptomator.linux.keychain.GnomeKeyringKeychainAccess");
}
// implicit migration of 1.6.x legacy setting "preferredVolumeImpl":
if (this.mountService.get() == null && json.preferredVolumeImpl != null) {
this.mountService.set(switch (json.preferredVolumeImpl) {

View File

@@ -101,8 +101,9 @@ public class GeneralPreferencesController implements FxController {
}
private void migrateKeychainEntries(Observable observable, KeychainAccessProvider oldProvider, KeychainAccessProvider newProvider) {
//currently, we only migrate on macOS (touchID vs regular keychain)
if (SystemUtils.IS_OS_MAC) {
//currently, we migrate on macOS (touchID vs regular keychain)
//and on Linux (GNOME Keyring / KDE Wallet / Secret Service)
if (SystemUtils.IS_OS_MAC || SystemUtils.IS_OS_LINUX) {
var idsAndNames = settings.directories.stream().collect(Collectors.toMap(vs -> vs.id, vs -> vs.displayName.getValue()));
if (!idsAndNames.isEmpty()) {
if (LOG.isDebugEnabled()) {