taler-ios

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

commit c24c3aeca7c7ef35520845befe13ba62bbed4945
parent cabfc1e9c09065696e0d2e8a88211d146b08f2f4
Author: Marc Stibane <marc@taler.net>
Date:   Mon, 24 Aug 2026 17:31:16 +0200

progressToken

Diffstat:
MTalerWallet1/Model/Model+Deposit.swift | 7+++++--
MTalerWallet1/Model/Model+P2P.swift | 16+++++++++++-----
MTalerWallet1/Model/Model+Withdraw.swift | 9++++++---
MTalerWallet1/Views/Actions/Banking/ManualWithdraw.swift | 2+-
4 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/TalerWallet1/Model/Model+Deposit.swift b/TalerWallet1/Model/Model+Deposit.swift @@ -185,13 +185,13 @@ fileprivate struct CheckDeposit: WalletBackendFormattedRequest { var operation: String { "checkDeposit" } func args() -> Args { Args(depositPaytoUri: depositPaytoUri, amount: amount, - clientCancellationId: "cancel") } + progressToken: depositPaytoUri) } var depositPaytoUri: String var amount: Amount struct Args: Encodable { var depositPaytoUri: String var amount: Amount - var clientCancellationId: String? + var progressToken: String? } } extension WalletModel { @@ -199,6 +199,9 @@ extension WalletModel { nonisolated func checkDeposit4711(_ depositPaytoUri: String, amount: Amount, viewHandles: Bool = false) async throws -> CheckDepositResponse { let request = CheckDeposit(depositPaytoUri: depositPaytoUri, amount: amount) + let controller = Controller.shared + controller.progressOperation = request.operation + controller.progressToken = depositPaytoUri let response = try await sendRequest(request, viewHandles: viewHandles) return response } diff --git a/TalerWallet1/Model/Model+P2P.swift b/TalerWallet1/Model/Model+P2P.swift @@ -1,5 +1,5 @@ /* - * This file is part of GNU Taler, ©2022-25 Taler Systems S.A. + * This file is part of GNU Taler, ©2022-26 Taler Systems S.A. * See LICENSE.md */ /** @@ -58,13 +58,13 @@ fileprivate struct CheckPeerPushDebit: WalletBackendFormattedRequest { var operation: String { "checkPeerPushDebit" } func args() -> Args { Args(amount: amount, restrictScope: scope, - clientCancellationId: "cancel") } + progressToken: operation) } var amount: Amount var scope: ScopeInfo struct Args: Encodable { var amount: Amount var restrictScope: ScopeInfo - var clientCancellationId: String? + var progressToken: String? } } extension WalletModel { @@ -73,6 +73,9 @@ extension WalletModel { viewHandles: Bool = false) async throws -> CheckPeerPushDebitResponse { let request = CheckPeerPushDebit(amount: amount, scope: scope) +// let controller = Controller.shared +// controller.progressOperation = request.operation +// controller.progressToken = request.operation let response = try await sendRequest(request, viewHandles: viewHandles) return response } @@ -124,14 +127,14 @@ fileprivate struct CheckPeerPullCredit: WalletBackendFormattedRequest { func args() -> Args { Args(amount: amount, restrictScope: scope, exchangeBaseUrl: scope?.url, - clientCancellationId: "cancel") } + progressToken: operation) } var amount: Amount var scope: ScopeInfo? struct Args: Encodable { var amount: Amount var restrictScope: ScopeInfo? var exchangeBaseUrl: String? - var clientCancellationId: String? + var progressToken: String? } } extension WalletModel { @@ -140,6 +143,9 @@ extension WalletModel { viewHandles: Bool = false) async throws -> CheckPeerPullCreditResponse { let request = CheckPeerPullCredit(amount: amount, scope: scope) + let controller = Controller.shared + controller.progressOperation = request.operation + controller.progressToken = request.operation let response = try await sendRequest(request, viewHandles: viewHandles) return response } diff --git a/TalerWallet1/Model/Model+Withdraw.swift b/TalerWallet1/Model/Model+Withdraw.swift @@ -1,5 +1,5 @@ /* - * This file is part of GNU Taler, ©2022-25 Taler Systems S.A. + * This file is part of GNU Taler, ©2022-26 Taler Systems S.A. * See LICENSE.md */ /** @@ -149,7 +149,7 @@ fileprivate struct GetWithdrawalDetailsForAmount: WalletBackendFormattedRequest func args() -> Args { Args(amount: amount, exchangeBaseUrl: baseUrl, restrictScope: scope, - clientCancellationId: "cancel") } + progressToken: baseUrl) } var amount: Amount var baseUrl: String? var scope: ScopeInfo? @@ -157,7 +157,7 @@ fileprivate struct GetWithdrawalDetailsForAmount: WalletBackendFormattedRequest var amount: Amount var exchangeBaseUrl: String? // needed for b-i-withdrawals var restrictScope: ScopeInfo? // only if exchangeBaseUrl is nil - var clientCancellationId: String? + var progressToken: String? } } // MARK: - @@ -286,6 +286,9 @@ extension WalletModel { viewHandles: Bool = false) async throws -> WithdrawalDetailsForAmount { let request = GetWithdrawalDetailsForAmount(amount: amount, baseUrl: baseUrl, scope: scope) + let controller = Controller.shared + controller.progressOperation = request.operation + controller.progressToken = baseUrl let response = try await sendRequest(request, viewHandles: viewHandles) return response } diff --git a/TalerWallet1/Views/Actions/Banking/ManualWithdraw.swift b/TalerWallet1/Views/Actions/Banking/ManualWithdraw.swift @@ -185,7 +185,7 @@ struct ManualWithdrawContent: View { } catch WalletBackendError.walletCoreError(let walletBackendResponseError) { symLog.log(walletBackendResponseError?.hint) // TODO: ignore WALLET_CORE_REQUEST_CANCELLED but handle all others - // Passing non-nil to clientCancellationId will throw WALLET_CORE_REQUEST_CANCELLED + // Passing non-nil to progressToken will throw WALLET_CORE_REQUEST_CANCELLED // when calling getWithdrawalDetailsForAmount again before the last call returned. // Since amountToTransfer changed and we don't need the old fee anymore, we just // ignore it and do nothing.