From 7f92df1ca51dd79f0e85ef3e833b6d299dac8d8f Mon Sep 17 00:00:00 2001 From: jay-tux Date: Tue, 1 Sep 2026 14:09:37 +0200 Subject: [PATCH] CLI: fix keyring backend bug --- clients/cli/build.gradle.kts | 4 +++- .../com/jaytux/phoebench/clients/cli/AuthHandlers.kt | 2 +- .../com/jaytux/phoebench/clients/cli/PersistentStorage.kt | 7 ++++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/clients/cli/build.gradle.kts b/clients/cli/build.gradle.kts index 594ed62..ff27982 100644 --- a/clients/cli/build.gradle.kts +++ b/clients/cli/build.gradle.kts @@ -80,7 +80,9 @@ kotlin { } tasks.withType { - archiveFileName = if(isDebug) "phoebench-cli-debug.jar" else "phoebench-cli.jar" + val archive = if(isDebug) "phoebench-cli-debug.jar" else "phoebench-cli.jar" + println("Using archive '$archive'") + archiveFileName = archive } buildConfig { diff --git a/clients/cli/src/main/kotlin/com/jaytux/phoebench/clients/cli/AuthHandlers.kt b/clients/cli/src/main/kotlin/com/jaytux/phoebench/clients/cli/AuthHandlers.kt index 4d2d957..3b884aa 100644 --- a/clients/cli/src/main/kotlin/com/jaytux/phoebench/clients/cli/AuthHandlers.kt +++ b/clients/cli/src/main/kotlin/com/jaytux/phoebench/clients/cli/AuthHandlers.kt @@ -14,7 +14,7 @@ object AuthHandlers { if (handshake.version != ProtocolVersion.VERSION) { Client.onClearServer() ErrorResponse("Mismatched protocol version (server: ${handshake.version}, client: ${ProtocolVersion.VERSION})").error() - } else Unit.value() + } else Client.onSelectServer(useServer).value() } } } diff --git a/clients/cli/src/main/kotlin/com/jaytux/phoebench/clients/cli/PersistentStorage.kt b/clients/cli/src/main/kotlin/com/jaytux/phoebench/clients/cli/PersistentStorage.kt index e1bb9b6..b91e203 100644 --- a/clients/cli/src/main/kotlin/com/jaytux/phoebench/clients/cli/PersistentStorage.kt +++ b/clients/cli/src/main/kotlin/com/jaytux/phoebench/clients/cli/PersistentStorage.kt @@ -2,6 +2,7 @@ package com.jaytux.phoebench.clients.cli import com.github.javakeyring.BackendNotSupportedException import com.github.javakeyring.Keyring +import com.github.javakeyring.PasswordAccessException import kotlinx.serialization.KSerializer import kotlinx.serialization.json.Json import kotlinx.serialization.serializer @@ -22,7 +23,11 @@ object PersistentStorage { private object KeyringBackend : IBackend { override fun read(key: String): String? = try { Keyring.create().use { it.getPassword(SERVICE, key) } - } catch(e: Exception) { + } + catch(e: PasswordAccessException) { + return null + } + catch(e: BackendNotSupportedException) { _backend = PreferencesBackend _backend.read(key) }