commit a26dfcacc9bc273df3c0da1b84aee4dc2daaa7c1
parent 4b5d86e5dc68a49d7137d13064374692e3f3957a
Author: Marc Stibane <marc@taler.net>
Date: Fri, 10 Jul 2026 09:20:06 +0200
persist developDelay
Diffstat:
4 files changed, 26 insertions(+), 20 deletions(-)
diff --git a/TalerWallet1/Backend/WalletCore.swift b/TalerWallet1/Backend/WalletCore.swift
@@ -33,7 +33,6 @@ class WalletCore: QuickjsMessageHandler {
var delegate: WalletBackendDelegate?
var versionInfo: VersionInfo? // shown in SettingsView
- var developDelay: Bool? // delay wallet-core after each network call
var isObserving: Int
var isLogging: Bool
var logTransactions: Bool
diff --git a/TalerWallet1/Controllers/Controller.swift b/TalerWallet1/Controllers/Controller.swift
@@ -150,6 +150,7 @@ class Controller: ObservableObject {
@AppStorage("developerMode") var developerMode: Bool = false
#endif
@AppStorage("deviceTokenAPNs") var deviceTokenAPNs: String?
+ @AppStorage("developDelay") var developDelay: Bool = false
let hapticCapability = CHHapticEngine.capabilitiesForHardware()
let logger = Logger(subsystem: "net.taler.gnu", category: "Controller")
let player = AVQueuePlayer()
@@ -536,12 +537,13 @@ class Controller: ObservableObject {
walletCore.versionInfo = versionInfo
if developerMode {
try await model.setConfig(setTesting: true)
- if walletCore.developDelay == true {
- try? await model.devExperimentT(
- "taler://dev-experiment/start-tc?delay_resp=5000")
+ if developDelay == true {
+ try await model.devExperimentT(
+ "taler://dev-experiment/start-tc?delay_resp=\(TCDELAY)")
}
-// try? await model.devExperimentT("taler://dev-experiment/default-exchange-demo?val=1")
- try? await model.devExperimentT(
+// try await model.devExperimentT("taler://dev-experiment/start-tc?fake_500=0.7")
+// try await model.devExperimentT("taler://dev-experiment/default-exchange-demo?val=1")
+ try await model.devExperimentT(
"taler://dev-experiment/demo-shortcuts?val=KUDOS:4,KUDOS:8,KUDOS:16,KUDOS:32")
}
defaultExchanges = await model.getDefaultExchanges(stage: stage)
diff --git a/TalerWallet1/Controllers/PublicConstants.swift b/TalerWallet1/Controllers/PublicConstants.swift
@@ -19,6 +19,11 @@ let TALER_LOGO_QR = "taler-logo-qr"
let EXCHANGE_LOGO = "Exchange-logo-blue"
let SWISS_QR = "swiss_qr"
+#if DEBUG
+public let TCDELAY = 12000
+#else
+public let TCDELAY = 5000 // 5 seconds delay after each network call
+#endif
public let INVISIBLE = 0.001
public let MAXEXCHANGES = 1000 // per currency
public let CHF_4217 = "CHF" // ISO-4217 Swiss Francs
diff --git a/TalerWallet1/Views/Settings/DebugSettingsView.swift b/TalerWallet1/Views/Settings/DebugSettingsView.swift
@@ -57,10 +57,9 @@ struct DebugSettingsView: View {
@State private var listID = UUID()
func setDelay(_ doDelay: Bool, for walletCore: WalletCore) async {
- walletCore.developDelay = doDelay
symLog.log(doDelay ? "wallet-core delaying by 5 seconds"
: "wallet-core stop delaying")
- let delayTime = doDelay ? 5000 : 0
+ let delayTime = doDelay ? TCDELAY : 0
try? await model.devExperimentT("taler://dev-experiment/start-tc?delay_resp=\(delayTime)")
}
@@ -77,9 +76,9 @@ struct DebugSettingsView: View {
withAnimation(Animation.linear.delay(0.8)) { showDevelopItems = developerMode }
Task {
symLog.log((newVal ? "enabling" : "disabling") + " applyDevExperiment")
- try await model.setConfig(setTesting: newVal)
- if newVal && walletCore.developDelay == true {
- try await setDelay(true, for: walletCore)
+ try? await model.setConfig(setTesting: newVal)
+ if newVal && developDelay == true {
+ await setDelay(true, for: walletCore)
}
}
}
@@ -111,9 +110,19 @@ struct DebugSettingsView: View {
consoleManager.clear()
}
}
+ SettingsToggle(name: String("Set 5 seconds delay"),
+ value: $developDelay.onChange({ delay in
+ Task {
+ try await setDelay(delay, for: walletCore)
+ }
+ }),
+ id1: "delay",
+ description: String("After each network call"))
+ .id("delay")
SettingsToggle(name: String(localized: "Show view sizes"), value: $debugViews,
id1: "debugViews",
description: String(localized: "Debug view layout and flickering"))
+ .id("debugViews")
#if DEBUG
let banks = [//"stage.taler-ops.ch", <= never has a bank!
// "glstest.taler.net",
@@ -170,15 +179,6 @@ struct DebugSettingsView: View {
.buttonStyle(.bordered)
.disabled(withDrawDisabled)
}.id("head1withdraw")
- SettingsToggle(name: String("Set 5 seconds delay"),
- value: $developDelay.onChange({ delay in
- Task {
- try await setDelay(delay, for: walletCore)
- }
- }),
- id1: "delay",
- description: String("After each network call"))
- .id("delay")
#if DEBUG
SettingsItem(name: String("Run Dev Experiment Refresh"),
id1: "applyDevExperiment",