fix(sync): enable keyring windows-native backend — creds were a silent no-op

keyring 3.x feature-gates its OS backends OFF by default, so with no feature the
credential store fell back to a mock where set/get don't share state: every
password write appeared to succeed but read back empty, so no Basic auth was
sent and WebDAV/Nextcloud auth always 401'd. windows-native pulls the real
Windows Credential Manager. Also affected MCP/hosted-AI keys + OAuth tokens.
This commit is contained in:
iamdoubz
2026-07-06 13:08:39 -05:00
parent 9c670f9b6b
commit 33c0397de8
2 changed files with 5 additions and 3 deletions
+3 -1
View File
@@ -2209,7 +2209,9 @@ version = "3.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eebcc3aff044e5944a8fbaf69eb277d11986064cba30c468730e8b9909fb551c"
dependencies = [
"byteorder",
"log",
"windows-sys 0.60.2",
"zeroize",
]
@@ -5973,7 +5975,7 @@ dependencies = [
[[package]]
name = "whispassist"
version = "0.1.5"
version = "0.1.6"
dependencies = [
"argon2",
"async-trait",
+2 -2
View File
@@ -1,6 +1,6 @@
[package]
name = "whispassist"
version = "0.1.5"
version = "0.1.6"
description = "Privacy-first, fully local Windows meeting assistant"
authors = ["WhispAssist contributors"]
license = "MIT OR Apache-2.0"
@@ -43,7 +43,7 @@ argon2 = "0.5"
chacha20poly1305 = "0.10"
getrandom = "0.2"
zeroize = "1" # wipe key material from memory on lock
keyring = { version = "3", optional = true } # OS credential store (sync + AI creds)
keyring = { version = "3", optional = true, features = ["windows-native"] } # OS credential store (sync + AI creds); windows-native = real Credential Manager (else keyring 3.x uses a no-op mock store)
rmcp = { version = "0.16", optional = true, features = ["server"] } # MCP server (ADR-0011)
# audio / transcription / diarization / calendar are integrated per-phase and are