taler-ios

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

commit d7ae7f02906798702f4e85f7aa83b2dd6947d8c5
parent 1ac17f16f70c36a248015b3cfe20169bd7b0359b
Author: Marc Stibane <marc@taler.net>
Date:   Tue, 10 Mar 2026 15:03:22 +0100

getPerformanceStats, cleanup

Diffstat:
MTalerWallet1/Controllers/TalerWallet1App.swift | 7++++++-
MTalerWallet1/Model/WalletModel.swift | 15++++++++++++++-
2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/TalerWallet1/Controllers/TalerWallet1App.swift b/TalerWallet1/Controllers/TalerWallet1App.swift @@ -48,7 +48,12 @@ struct TalerWallet1App: App { /// we handle them in .onOpenURL in MainView.swift .handlesExternalEvents(preferring: ["*"], allowing: ["*"]) .task { - try! await controller.initWalletCore(model, setTesting: false) // will (and should) crash on failure +#if DEBUG + let testing = true +#else + let testing = false +#endif + try! await controller.initWalletCore(model, setTesting: testing) // will (and should) crash on failure } } .onChange(of: phase) { newPhase in diff --git a/TalerWallet1/Model/WalletModel.swift b/TalerWallet1/Model/WalletModel.swift @@ -258,7 +258,7 @@ fileprivate struct Testing: Encodable { self.insecureTrustExchange = false self.preventThrottling = false self.skipDefaults = false - self.emitObservabilityEvents = true + self.emitObservabilityEvents = devModeActive } } @@ -482,6 +482,13 @@ fileprivate struct GetDiagnostics: WalletBackendFormattedRequest { typealias Response = String } +fileprivate struct GetPerformanceStats: WalletBackendFormattedRequest { + func operation() -> String { "testingGetPerformanceStats" } + func args() -> Args { Args() } + struct Args: Encodable {} // no arguments needed + typealias Response = String +} + extension WalletModel { /// export, import DB, get diagnostics nonisolated func exportDbToFile(stem: String, viewHandles: Bool = false) @@ -507,6 +514,12 @@ extension WalletModel { let response = try await sendRequest(request, viewHandles: viewHandles, asJSON: true) return response } + nonisolated func getPerformanceStats(viewHandles: Bool = false) + async throws -> String { + let request = GetPerformanceStats() + let response = try await sendRequest(request, viewHandles: viewHandles, asJSON: true) + return response + } } // MARK: - fileprivate struct DevExperimentRequest: WalletBackendFormattedRequest {