[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-taler-ios] 12/32: devExperiment Refresh
From: |
gnunet |
Subject: |
[taler-taler-ios] 12/32: devExperiment Refresh |
Date: |
Sat, 10 Feb 2024 15:04:38 +0100 |
This is an automated email from the git hooks/post-receive script.
marc-stibane pushed a commit to branch master
in repository taler-ios.
commit 8e1279953d0890c50439d6f2fd28cfea91f025f6
Author: Marc Stibane <marc@taler.net>
AuthorDate: Sun Feb 4 14:42:46 2024 +0100
devExperiment Refresh
---
TalerWallet1/Model/WalletModel.swift | 41 ++++++++++++++++++++++----
TalerWallet1/Views/Settings/SettingsView.swift | 15 ++++++++++
2 files changed, 51 insertions(+), 5 deletions(-)
diff --git a/TalerWallet1/Model/WalletModel.swift
b/TalerWallet1/Model/WalletModel.swift
index dadf3fa..86cf4e6 100644
--- a/TalerWallet1/Model/WalletModel.swift
+++ b/TalerWallet1/Model/WalletModel.swift
@@ -91,21 +91,31 @@ struct VersionInfo: Decodable {
fileprivate struct InitRequest: WalletBackendFormattedRequest {
func operation() -> String { "init" }
func args() -> Args {
+ let testing = Testing(devModeActive: false) // true, false
+ let config = Config(testing: testing)
return Args(persistentStoragePath: persistentStoragePath,
// cryptoWorkerType: "sync",
- logLevel: "info", // trace, info, warn,
error, none
+ logLevel: "info", // trace, info, warn,
error, none
+ config: config,
useNativeLogging: true)
}
+ var persistentStoragePath: String
+
+ struct Testing: Encodable {
+ var devModeActive: Bool
+ // more to come...
+ }
+ struct Config: Encodable {
+ var testing: Testing
+ }
struct Args: Encodable {
var persistentStoragePath: String
// var cryptoWorkerType: String
var logLevel: String
+ var config: Config
var useNativeLogging: Bool
}
-
- var persistentStoragePath: String
-
struct Response: Decodable {
var versionInfo: VersionInfo
}
@@ -158,7 +168,7 @@ extension WalletModel {
}
}
// MARK: -
-/// A request to initialize Wallet-core
+/// A request to reset Wallet-core to a virgin DB. WILL DESTROY ALL COINS
fileprivate struct ResetRequest: WalletBackendFormattedRequest {
func operation() -> String { "clearDb" }
func args() -> Args { Args() }
@@ -176,3 +186,24 @@ extension WalletModel {
}
}
// MARK: -
+
+fileprivate struct DevExperimentRequest: WalletBackendFormattedRequest {
+ func operation() -> String { "applyDevExperiment" }
+ func args() -> Args { Args(devExperimentUri: talerUri) }
+
+ var talerUri: String
+
+ struct Args: Encodable {
+ var devExperimentUri: String
+ }
+ struct Response: Decodable {}
+}
+
+extension WalletModel {
+ /// tell wallet-core to mock new transactions
+ func devExperimentT(talerUri: String) async throws {
+ // T for any Thread
+ let request = DevExperimentRequest(talerUri: talerUri)
+ _ = try await sendRequest(request, 0)
+ }
+}
diff --git a/TalerWallet1/Views/Settings/SettingsView.swift
b/TalerWallet1/Views/Settings/SettingsView.swift
index 6484c2e..cb38f38 100644
--- a/TalerWallet1/Views/Settings/SettingsView.swift
+++ b/TalerWallet1/Views/Settings/SettingsView.swift
@@ -184,6 +184,21 @@ struct SettingsView: View {
walletCore.developDelay = delay}), id1: "delay",
description: hideDescriptions ? nil :
String("After each wallet-core action"))
.id("delay")
+ SettingsItem(name: String("Run Dev Experiment"), id1:
"applyDevExperiment",
+ description: hideDescriptions ? nil :
"dev-experiment/insert-pending-refresh") {
+ let title = "Refresh"
+ Button(title) {
+ Task { // runs on MainActor
+ symLog.log("running applyDevExperiment
Refresh")
+ do {
+ try await
model.devExperimentT(talerUri: "taler://dev-experiment/insert-pending-refresh")
+ } catch { // TODO: show error
+ symLog.log(error.localizedDescription)
+ }
+ }
+ }
+ .buttonStyle(.bordered)
+ }.id("Refresh")
SettingsItem(name: String("Run Integration Test"),
id1: "demo1test",
description: hideDescriptions ? nil :
String("Perform basic test transactions")) {
let title = "Demo 1"
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [taler-taler-ios] 27/32: don't dismiss after done, (continued)
- [taler-taler-ios] 27/32: don't dismiss after done, gnunet, 2024/02/10
- [taler-taler-ios] 13/32: ScrollVStack, gnunet, 2024/02/10
- [taler-taler-ios] 21/32: minimalistic, gnunet, 2024/02/10
- [taler-taler-ios] 17/32: currency formatter, gnunet, 2024/02/10
- [taler-taler-ios] 14/32: shouldReloadBalances, gnunet, 2024/02/10
- [taler-taler-ios] 26/32: more scopeInfo, gnunet, 2024/02/10
- [taler-taler-ios] 30/32: Bump version to 0.9.4 (3), gnunet, 2024/02/10
- [taler-taler-ios] 18/32: Dismiss P2P without showing details again, gnunet, 2024/02/10
- [taler-taler-ios] 32/32: remove reward, gnunet, 2024/02/10
- [taler-taler-ios] 31/32: Wording, gnunet, 2024/02/10
- [taler-taler-ios] 12/32: devExperiment Refresh,
gnunet <=
- [taler-taler-ios] 11/32: Identifiable, gnunet, 2024/02/10
- [taler-taler-ios] 28/32: RotatingTaler while waiting for tx to finish, gnunet, 2024/02/10
- [taler-taler-ios] 23/32: TransactionDetailV, gnunet, 2024/02/10
- [taler-taler-ios] 19/32: Show merchant in payment details, gnunet, 2024/02/10
- [taler-taler-ios] 15/32: githash 7 chars, gnunet, 2024/02/10
- [taler-taler-ios] 22/32: CallStack, gnunet, 2024/02/10
- [taler-taler-ios] 10/32: ScrollVStack, gnunet, 2024/02/10
- [taler-taler-ios] 24/32: static func <, gnunet, 2024/02/10
- [taler-taler-ios] 29/32: cleanup, gnunet, 2024/02/10
- [taler-taler-ios] 25/32: use ScopeInfo, gnunet, 2024/02/10