From 3ac102ccdee94d596f87a4152cf2eb79a847af91 Mon Sep 17 00:00:00 2001 From: Salastil Date: Fri, 28 Aug 2026 21:39:25 -0400 Subject: [PATCH] Show the account a failed login just saved The daemon now saves Sneedchat and Matrix accounts before attempting the login, so a failure leaves something to correct and retry. This half was still refreshing the account list only on success, which kept that account invisible - the fix existed and nothing showed it. Refreshed either way now. A failed attempt puts a disconnected account on screen with what was entered, and Connect retries it. Submodule moves to the matching daemon. --- nobilis | 2 +- src/renderer/src/state/store.ts | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/nobilis b/nobilis index 84d2e09..6aa5081 160000 --- a/nobilis +++ b/nobilis @@ -1 +1 @@ -Subproject commit 84d2e09718a34184ab96403f4c2d23eccd2fa023 +Subproject commit 6aa50816d71d987892dc50c1c01f2b53c9d4bad9 diff --git a/src/renderer/src/state/store.ts b/src/renderer/src/state/store.ts index 193640c..8ffd54f 100644 --- a/src/renderer/src/state/store.ts +++ b/src/renderer/src/state/store.ts @@ -810,7 +810,11 @@ export class ChatStore { break case 'sockChatLoginResult': this.set({ sockChatLoginStatus: data.error || '' }) - if (!data.error) void this.refreshAccounts() + // Refreshed either way. The daemon now saves the account before it + // attempts the login, so a wrong password or a Tor bootstrap that + // never finished leaves an account sitting there to correct and + // retry - and refreshing only on success was what kept it invisible. + void this.refreshAccounts() break // Verification is a multi-step flow whose steps all arrive as pushes: @@ -848,7 +852,9 @@ export class ChatStore { break case 'matrixLoginResult': this.set({ matrixLoginStatus: data.error || '' }) - if (!data.error) void this.refreshAccounts() + // Same as Sneedchat above: the account exists before the attempt, so + // a failure has something to show and something to retry. + void this.refreshAccounts() break default: