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: