taler-ios

iOS apps for GNU Taler (wallet)
Log | Files | Refs | README | LICENSE

commit 8f593bdffa8585741184b2626d883f66c369af94
parent d81aa50d4ec0f944c977512c2e50b56df10e19ab
Author: Marc Stibane <marc@taler.net>
Date:   Fri,  8 Nov 2024 17:27:36 +0100

loadBalances

Diffstat:
MTalerWallet1/Controllers/Controller.swift | 4++--
MTalerWallet1/Model/Model+Balances.swift | 5+----
2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/TalerWallet1/Controllers/Controller.swift b/TalerWallet1/Controllers/Controller.swift @@ -117,10 +117,10 @@ class Controller: ObservableObject { // checkInternetConnection() } // MARK: - - /// runs on MainActor if called in some Task {} + @MainActor @discardableResult func loadBalances(_ stack: CallStack,_ model: WalletModel) async -> Int? { - if let reloaded = try? await model.balancesM(stack.push()) { + if let reloaded = try? await model.getBalances(stack.push()) { for balance in reloaded { let scope = balance.scopeInfo checkInfo(for: scope, model: model) diff --git a/TalerWallet1/Model/Model+Balances.swift b/TalerWallet1/Model/Model+Balances.swift @@ -69,10 +69,7 @@ fileprivate struct Balances: WalletBackendFormattedRequest { // MARK: - extension WalletModel { /// fetch Balances from Wallet-Core. No networking involved - @MainActor func balancesM(_ stack: CallStack, viewHandles: Bool = false) - async throws -> [Balance] { // M for MainActor - await semaphore.wait() - defer { semaphore.signal() } + nonisolated func getBalances(_ stack: CallStack, viewHandles: Bool = false) async throws -> [Balance] { let request = Balances() let response = try await sendRequest(request, ASYNCDELAY, viewHandles: viewHandles) return response.balances