From 150bd41cd4fb308e2b5f69a55a218f89f122d444 Mon Sep 17 00:00:00 2001 From: crschnick Date: Mon, 16 Mar 2026 11:16:41 +0000 Subject: [PATCH] Rework --- .../java/io/xpipe/app/pwman/KeeperPasswordManager.java | 7 ++++++- .../identity/PasswordManagerIdentityStoreProvider.java | 1 + lang/strings/translations_en.properties | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/io/xpipe/app/pwman/KeeperPasswordManager.java b/app/src/main/java/io/xpipe/app/pwman/KeeperPasswordManager.java index cb509c530..6edb6dcf4 100644 --- a/app/src/main/java/io/xpipe/app/pwman/KeeperPasswordManager.java +++ b/app/src/main/java/io/xpipe/app/pwman/KeeperPasswordManager.java @@ -45,7 +45,12 @@ public class KeeperPasswordManager implements PasswordManager { private static Path getSocketLocation() { var socket = switch (OsType.ofLocal()) { - case OsType.Linux ignored -> AppSystemInfo.ofLinux().getConfigDir().resolve("Keeper Password Manager", "keeper-ssh-agent.sock"); + case OsType.Linux ignored -> { + var l = List.of( + AppSystemInfo.ofLinux().getConfigDir().resolve("Keeper Password Manager", "keeper-ssh-agent.sock"), + AppSystemInfo.ofLinux().getUserHome().resolve("snap", "keepersecurity", "current", ".config", "Keeper Password Manager", "keeper-ssh-agent.sock")); + yield l.stream().filter(Files::exists).findFirst().orElse(l.getFirst()); + } case OsType.MacOs ignored -> { var l = List.of(AppSystemInfo.ofMacOs().getTemp().resolve("keeper-ssh-agent.sock"), AppSystemInfo.ofMacOs().getUserHome().resolve("Library/Containers/com.callpod.keepermac.lite/Data/tmp/keeper-ssh-agent.sock")); diff --git a/ext/base/src/main/java/io/xpipe/ext/base/identity/PasswordManagerIdentityStoreProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/identity/PasswordManagerIdentityStoreProvider.java index 4cd285692..9dfe4e996 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/identity/PasswordManagerIdentityStoreProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/identity/PasswordManagerIdentityStoreProvider.java @@ -84,6 +84,7 @@ public class PasswordManagerIdentityStoreProvider extends IdentityStoreProvider return PasswordManagerIdentityStore.builder() .key(key.get()) .sshKey(sshKey.get()) + .perUser(perUser.get()) .build(); }, store) diff --git a/lang/strings/translations_en.properties b/lang/strings/translations_en.properties index 3acee944e..e3842dd7b 100644 --- a/lang/strings/translations_en.properties +++ b/lang/strings/translations_en.properties @@ -2002,7 +2002,7 @@ prefsRestartTitle=Restart required prefsRestartContent=Some options you changed require an application restart to apply. Do you want to restart XPipe now? bashShell=Bash shell sshKey=SSH key -inlineKey=Retrieve directly +inlineKey=Retrieve directly from password manager inlineSeparateKey=Retrieve additional key keyAgent=Use agent integration passwordManagerKeyStrategy=SSH key retrieval method