diff options
| author | Christian Cleberg <[email protected]> | 2026-04-13 22:37:22 -0500 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2026-04-13 22:37:22 -0500 |
| commit | 5dcfe0f147c7871eaf5f3a88bd9e9fded38d4633 (patch) | |
| tree | 6bcbda4f02a131d3e3b870a3904ccd42f4af2f26 /Rune/ViewModels/SettingsViewModel.swift | |
| parent | fcf864a15b70e4ecb5bd789b1db3116221c34394 (diff) | |
| download | rune-5dcfe0f147c7871eaf5f3a88bd9e9fded38d4633.tar.gz rune-5dcfe0f147c7871eaf5f3a88bd9e9fded38d4633.tar.bz2 rune-5dcfe0f147c7871eaf5f3a88bd9e9fded38d4633.zip | |
v1.2.0 domain management and wallet expansionv1.2.0
Complete v1.1-aligned domain flows with forwards and glue CRUD, improve API payload resilience, and add wallet transaction/payment views.
Harden error handling and UX states across domain screens, remove out-of-scope DNSSEC/renewal record flows for now, and keep auth/session behavior aligned with token-based usage.
Diffstat (limited to 'Rune/ViewModels/SettingsViewModel.swift')
| -rw-r--r-- | Rune/ViewModels/SettingsViewModel.swift | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/Rune/ViewModels/SettingsViewModel.swift b/Rune/ViewModels/SettingsViewModel.swift index 6b773eb..c253ab8 100644 --- a/Rune/ViewModels/SettingsViewModel.swift +++ b/Rune/ViewModels/SettingsViewModel.swift @@ -83,12 +83,12 @@ final class SettingsViewModel: ObservableObject { } } - func logout() throws { + func logout() async throws { + if let client { + try await client.logout() + } try keychainManager.deleteToken() - client = nil - balance = nil - isAuthenticated = false - errorMessage = nil + clearLocalSession() } func logoutIfCurrentTokenDeleted(_ key: String) throws -> Bool { @@ -96,7 +96,15 @@ final class SettingsViewModel: ObservableObject { return false } - try logout() + try keychainManager.deleteToken() + clearLocalSession() return true } + + private func clearLocalSession() { + client = nil + balance = nil + isAuthenticated = false + errorMessage = nil + } } |
