taler-ios

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

commit 2eb89f9980afa3cb4d5bf692dc8806ca9440b502
parent 9278dfcd8e411b42f6d292f88ed01c76a31d1597
Author: Marc Stibane <marc@taler.net>
Date:   Fri, 17 Jul 2026 08:21:33 +0200

RequestProgress notifications

Diffstat:
MTalerWallet1/Backend/WalletCore.swift | 28++++++++++++++++++++++++++++
1 file changed, 28 insertions(+), 0 deletions(-)

diff --git a/TalerWallet1/Backend/WalletCore.swift b/TalerWallet1/Backend/WalletCore.swift @@ -179,6 +179,28 @@ extension WalletCore { } } + @MainActor + private func handleRequestProgressError(_ jsonData: Data) throws { + do { + let decoded = try JSONDecoder().decode(RequestProgressError.self, from: jsonData) + DispatchQueue.main.async { + Controller.shared.lastProgressError = decoded + } + } + } + + @MainActor + private func handleRequestProgressPhase(_ jsonData: Data) throws { + do { + let decoded = try JSONDecoder().decode(RequestProgressPhase.self, from: jsonData) + DispatchQueue.main.async { + Controller.shared.lastProgressPhase = decoded + self.postNotification(.RequestProgressPhase, + userInfo: [NOTIFICATIONPHASE: decoded]) + } + } + } + private func handlePendingProcessed(_ payload: Payload) throws { guard let id = payload.id else { throw WalletBackendError.deserializationError @@ -315,6 +337,12 @@ extension WalletCore { case Notification.Name.ExchangeStateTransition.rawValue: symLog.log(message) break + case Notification.Name.RequestProgressError.rawValue: + symLog.log(message) + try handleRequestProgressError(jsonData) + case Notification.Name.RequestProgressPhase.rawValue: + symLog.log(message) + try handleRequestProgressPhase(jsonData) case Notification.Name.TransactionStateTransition.rawValue: symLog.log(message) try handleStateTransition(jsonData)