From 67ac80bd19eb93eab773b743475111335cfb4b5d Mon Sep 17 00:00:00 2001 From: Artem Zhurikhin Date: Mon, 23 Jun 2025 02:57:45 +0200 Subject: [PATCH] linux: Fix KeePassXC integration via org.freedesktop.Secrets (#33026) Closes #29956 Unlike GNOME Keyring, KeePassXC locks individual secrets in addition to the entire database when configured to ask for confirmation for access requests by DBus clients. As such, before the secret is read it should be unlocked by the client. Tested against both KeePassXC and GNOME Keyring, and with this patch Zed successfully logs in and fetches the API keys from the Secret Service. Release Notes: - Fixed KeePassXC integration via org.freedesktop.Secrets --- crates/gpui/src/platform/linux/platform.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/gpui/src/platform/linux/platform.rs b/crates/gpui/src/platform/linux/platform.rs index ddb7f7918e3424d5129fe35d29ec6e02db509ff1..180ff065c2100e63fe1b6d7c98d9585e7479668e 100644 --- a/crates/gpui/src/platform/linux/platform.rs +++ b/crates/gpui/src/platform/linux/platform.rs @@ -491,6 +491,7 @@ impl Platform for P { let username = attributes .get("username") .context("Cannot find username in stored credentials")?; + item.unlock().await?; let secret = item.secret().await?; // we lose the zeroizing capabilities at this boundary,