fix: prevent logout from auto-selecting first saved profile

After logout, renderSavedProfiles() was unconditionally falling back to
the first saved profile when no active profile existed. This made the
profile modal appear as if the user switched accounts instead of logging
out, requiring a second logout attempt and a page refresh.

The fix gates the fallback so it only triggers when an active pubkey IS
set but doesn't match any saved entry (a data-inconsistency edge case),
not when the active pubkey is null (the normal logged-out state).

https://claude.ai/code/session_01Lw3WG8A9Risiqx2uLTZZZH
This commit is contained in:
Claude committed 2026-02-21 19:48:17 +00:00
1 parent 830ba7ae61
commit 58e4c1b87f
1 file changed
+6 -1
+6 -1
View File
@@ -2334,7 +2334,12 @@ export class ProfileModalController {
(entry) => this.normalizeHexPubkey(entry.pubkey) === normalizedActive,
);
}
if (!activeEntry && savedEntries.length) {
// Only fall back to the first saved profile when an active pubkey IS set
// but doesn't match any saved entry (data-inconsistency edge case).
// When normalizedActive is null the user is logged out — do NOT auto-select
// a profile, otherwise the modal appears as if the user merely switched
// accounts instead of logging out.
if (!activeEntry && normalizedActive && savedEntries.length) {
activeEntry = savedEntries[0];
}