From 5661c6df27484fa3f026446483b9e5c480a0071d Mon Sep 17 00:00:00 2001 From: nrobi144 Date: Thu, 5 Mar 2026 13:36:34 +0200 Subject: [PATCH] fix(desktop): clear stored credentials on logout All user-initiated logouts now pass deleteKey=true to remove nsec from secure storage, clear last_npub, and delete bunker state. Co-Authored-By: Claude Opus 4.6 --- .../kotlin/com/vitorpamplona/amethyst/desktop/Main.kt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/desktopApp/src/jvmMain/kotlin/com/vitorpamplona/amethyst/desktop/Main.kt b/desktopApp/src/jvmMain/kotlin/com/vitorpamplona/amethyst/desktop/Main.kt index eb2340c24..bc8fb669e 100644 --- a/desktopApp/src/jvmMain/kotlin/com/vitorpamplona/amethyst/desktop/Main.kt +++ b/desktopApp/src/jvmMain/kotlin/com/vitorpamplona/amethyst/desktop/Main.kt @@ -199,7 +199,7 @@ fun main() = "Logout", onClick = { deckScope.launch { - accountManager.logout() + accountManager.logout(deleteKey = true) } }, enabled = accountState is AccountState.LoggedIn, @@ -429,7 +429,7 @@ fun App( } if (connected == null) { // No relays connected after 30s — fall back to login screen - accountManager.logout() + accountManager.logout(deleteKey = true) } else { val result = accountManager.loadSavedAccount(relayManager.client) if (result.isSuccess) { @@ -743,7 +743,7 @@ fun ProfileScreen( Spacer(Modifier.height(24.dp)) OutlinedButton( - onClick = { scope.launch { accountManager.logout() } }, + onClick = { scope.launch { accountManager.logout(deleteKey = true) } }, colors = androidx.compose.material3.ButtonDefaults.outlinedButtonColors( contentColor = Color.Red, @@ -951,7 +951,7 @@ fun RelaySettingsScreen( val logoutScope = rememberCoroutineScope() OutlinedButton( - onClick = { logoutScope.launch { accountManager.logout() } }, + onClick = { logoutScope.launch { accountManager.logout(deleteKey = true) } }, colors = ButtonDefaults.outlinedButtonColors( contentColor = MaterialTheme.colorScheme.error,