[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-taler-ios] branch master updated (aea5ef9 -> 0ae512a)
From: |
gnunet |
Subject: |
[taler-taler-ios] branch master updated (aea5ef9 -> 0ae512a) |
Date: |
Wed, 08 Jan 2025 20:41:46 +0100 |
This is an automated email from the git hooks/post-receive script.
marc-stibane pushed a change to branch master
in repository taler-ios.
from aea5ef9 Polish localization
new 1c18a5c Debugging
new e93a976 cash 2 ecash
new 0ae512a Bump version to 0.14.2 (0.14.4)
The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
TalerWallet.xcodeproj/project.pbxproj | 16 ++---
TalerWallet1/Backend/WalletCore.swift | 6 +-
TalerWallet1/Localizable.xcstrings | 24 ++++++++
TalerWallet1/Model/Model+Withdraw.swift | 4 +-
.../WithdrawAcceptDone.swift | 6 +-
.../WithdrawAcceptView.swift | 72 ++++++++++++----------
TestFlight/WhatToTest.en-US.txt | 6 ++
7 files changed, 88 insertions(+), 46 deletions(-)
diff --git a/TalerWallet.xcodeproj/project.pbxproj
b/TalerWallet.xcodeproj/project.pbxproj
index b1da5ac..146892a 100644
--- a/TalerWallet.xcodeproj/project.pbxproj
+++ b/TalerWallet.xcodeproj/project.pbxproj
@@ -1559,7 +1559,7 @@
CODE_SIGN_ENTITLEMENTS =
"$(TARGET_NAME).entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 0.14.0;
+ CURRENT_PROJECT_VERSION = 0.14.4;
DEVELOPMENT_TEAM = GUDDQ9428Y;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
@@ -1577,7 +1577,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 0.14.0;
+ MARKETING_VERSION = 0.14.2;
PRODUCT_BUNDLE_IDENTIFIER =
"com.taler-systems.talerwallet-1";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -1601,7 +1601,7 @@
CODE_SIGN_ENTITLEMENTS =
"$(TARGET_NAME).entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 0.14.0;
+ CURRENT_PROJECT_VERSION = 0.14.4;
DEVELOPMENT_TEAM = GUDDQ9428Y;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
@@ -1619,7 +1619,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 0.14.0;
+ MARKETING_VERSION = 0.14.2;
PRODUCT_BUNDLE_IDENTIFIER =
"com.taler-systems.talerwallet-1";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -1766,7 +1766,7 @@
CODE_SIGN_ENTITLEMENTS =
"$(TARGET_NAME).entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 0.14.1;
+ CURRENT_PROJECT_VERSION = 0.14.4;
DEVELOPMENT_TEAM = GUDDQ9428Y;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
@@ -1784,7 +1784,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 0.14.1;
+ MARKETING_VERSION = 0.14.2;
PRODUCT_BUNDLE_IDENTIFIER =
"com.taler-systems.talerwallet-2";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -1808,7 +1808,7 @@
CODE_SIGN_ENTITLEMENTS =
"$(TARGET_NAME).entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 0.14.1;
+ CURRENT_PROJECT_VERSION = 0.14.4;
DEVELOPMENT_TEAM = GUDDQ9428Y;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
@@ -1826,7 +1826,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 0.14.1;
+ MARKETING_VERSION = 0.14.2;
PRODUCT_BUNDLE_IDENTIFIER =
"com.taler-systems.talerwallet-2";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
diff --git a/TalerWallet1/Backend/WalletCore.swift
b/TalerWallet1/Backend/WalletCore.swift
index 8e8010a..a79ff3b 100644
--- a/TalerWallet1/Backend/WalletCore.swift
+++ b/TalerWallet1/Backend/WalletCore.swift
@@ -314,7 +314,7 @@ extension WalletCore {
switch payload.type {
case Notification.Name.Idle.rawValue:
- symLog.log(message)
+// symLog.log(message)
break
case Notification.Name.ExchangeStateTransition.rawValue:
symLog.log(message)
@@ -503,7 +503,9 @@ extension WalletCore {
if let error {
self.logger.error("Request \"id\":\(requestId, privacy:
.public) failed after \(millisecs, privacy: .public) ms")
} else {
- self.logger.info("Request \"id\":\(requestId, privacy:
.public) took \(millisecs, privacy: .public) ms")
+ if millisecs > 50 {
+ self.logger.info("Request \"id\":\(requestId, privacy:
.public) took \(millisecs, privacy: .public) ms")
+ }
}
var err: Error? = nil
if let json = result, error == nil {
diff --git a/TalerWallet1/Localizable.xcstrings
b/TalerWallet1/Localizable.xcstrings
index e36bd45..fdfa291 100755
--- a/TalerWallet1/Localizable.xcstrings
+++ b/TalerWallet1/Localizable.xcstrings
@@ -9888,6 +9888,7 @@
}
},
"Summary" : {
+ "extractionState" : "stale",
"localizations" : {
"de" : {
"stringUnit" : {
@@ -10105,6 +10106,28 @@
}
}
},
+ "The amount will be determined by the Cash Acceptor." : {
+ "localizations" : {
+ "de" : {
+ "stringUnit" : {
+ "state" : "translated",
+ "value" : "Der Betrag wird vom Geldannahme-Gerät festgelegt."
+ }
+ },
+ "es" : {
+ "stringUnit" : {
+ "state" : "translated",
+ "value" : "El monto será determinado por el Aceptante de Efectivo."
+ }
+ },
+ "pl" : {
+ "stringUnit" : {
+ "state" : "needs_review",
+ "value" : "Kwota zostanie określona przez Akceptanta Gotówki."
+ }
+ }
+ }
+ },
"The bank is waiting for your authorization." : {
"localizations" : {
"de" : {
@@ -13063,6 +13086,7 @@
}
},
"Your bank's wire fee: %@" : {
+ "extractionState" : "stale",
"localizations" : {
"de" : {
"stringUnit" : {
diff --git a/TalerWallet1/Model/Model+Withdraw.swift
b/TalerWallet1/Model/Model+Withdraw.swift
index 7e88add..2a299ed 100644
--- a/TalerWallet1/Model/Model+Withdraw.swift
+++ b/TalerWallet1/Model/Model+Withdraw.swift
@@ -56,8 +56,8 @@ struct WithdrawUriInfoResponse: Decodable {
var status: WithdrawalOperationStatus // pending, selected, aborted,
confirmed
var confirmTransferUrl: String?
var currency: String // use this if amount=nil
- var amount: Amount? // if nil then ask User
- var editableAmount: Bool
+ var amount: Amount? // if nil then either ask User
(editableAmount=true), or it's cash2ecash (editableAmount=false)
+ var editableAmount: Bool // if true then ask User
var maxAmount: Amount? // limit how much the user may
withdraw
var wireFee: Amount?
var defaultExchangeBaseUrl: String? // if nil then use
possibleExchanges
diff --git
a/TalerWallet1/Views/Sheets/WithdrawBankIntegrated/WithdrawAcceptDone.swift
b/TalerWallet1/Views/Sheets/WithdrawBankIntegrated/WithdrawAcceptDone.swift
index 9def20e..7962946 100644
--- a/TalerWallet1/Views/Sheets/WithdrawBankIntegrated/WithdrawAcceptDone.swift
+++ b/TalerWallet1/Views/Sheets/WithdrawBankIntegrated/WithdrawAcceptDone.swift
@@ -36,7 +36,11 @@ struct WithdrawAcceptDone: View {
) {
let confirmTransferUrl = result.confirmTransferUrl
symLog.log(confirmTransferUrl)
- transactionId = result.transactionId
+ if amountToTransfer == nil {
+ dismissTop(stack.push())
+ } else {
+ transactionId = result.transactionId
+ }
}
}
}
diff --git
a/TalerWallet1/Views/Sheets/WithdrawBankIntegrated/WithdrawAcceptView.swift
b/TalerWallet1/Views/Sheets/WithdrawBankIntegrated/WithdrawAcceptView.swift
index f0e2471..e0ba2a8 100644
--- a/TalerWallet1/Views/Sheets/WithdrawBankIntegrated/WithdrawAcceptView.swift
+++ b/TalerWallet1/Views/Sheets/WithdrawBankIntegrated/WithdrawAcceptView.swift
@@ -39,7 +39,7 @@ struct WithdrawAcceptView: View {
@MainActor
private func viewDidLoad() async {
symLog.log(".task \(exchange?.id ?? "nil")")
- if let exchange {
+ if !amountToTransfer.isZero, let exchange {
if let details = try? await
model.getWithdrawalDetailsForAmount(amountToTransfer,
baseUrl:
exchange.exchangeBaseUrl,
scope:
nil) { // TODO: scope
@@ -53,7 +53,7 @@ struct WithdrawAcceptView: View {
}
var body: some View {
- if let exchange, let withdrawalDetails {
+ if let exchange {
VStack {
let tosAccepted = exchange.tosStatus == .accepted
if !tosAccepted {
@@ -64,37 +64,43 @@ struct WithdrawAcceptView: View {
acceptAction: reloadExchange)
}
List {
- let raw = withdrawalDetails.amountRaw
- let effective = withdrawalDetails.amountEffective
- let currency = raw.currencyStr
- let fee = try! Amount.diff(raw, effective)
- let outColor = WalletColors().transactionColor(false)
- let inColor = WalletColors().transactionColor(true)
+ if let withdrawalDetails {
+ let raw = withdrawalDetails.amountRaw
+ let effective = withdrawalDetails.amountEffective
+ let currency = raw.currencyStr
+ let fee = try! Amount.diff(raw, effective)
+ let outColor = WalletColors().transactionColor(false)
+ let inColor = WalletColors().transactionColor(true)
- ThreeAmountsSection(stack: stack.push(),
- scope: scope,
- topTitle: String(localized: "Chosen
amount to withdraw:"),
- topAbbrev: String(localized: "Withdraw:",
comment: "Chosen amount to withdraw:"),
- topAmount: raw,
- noFees: exchange.noFees,
- fee: fee,
- feeIsNegative: true,
- bottomTitle: String(localized: "Amount to
obtain:"),
- bottomAbbrev: String(localized: "Obtain:",
comment: "Amount to obtain:"),
- bottomAmount: effective,
- large: false,
- pending: false,
- incoming: true,
- baseURL: exchange.exchangeBaseUrl,
- txStateLcl: nil, //
common.txState.major.localizedState
- summary: nil,
- merchant: nil,
- products: nil)
- if let wireFee {
- if !wireFee.isZero {
- let currencyInfo = controller.info(for: scope,
controller.currencyTicker)
- let feeStr = wireFee.formatted(currencyInfo,
isNegative: false)
- Text("Your bank's wire fee: \(feeStr)")
+ ThreeAmountsSection(stack: stack.push(),
+ scope: scope,
+ topTitle: String(localized: "Chosen
amount to withdraw:"),
+ topAbbrev: String(localized:
"Withdraw:", comment: "Chosen amount to withdraw:"),
+ topAmount: raw,
+ noFees: exchange.noFees,
+ fee: fee,
+ feeIsNegative: true,
+ bottomTitle: String(localized: "Amount
to obtain:"),
+ bottomAbbrev: String(localized:
"Obtain:", comment: "Amount to obtain:"),
+ bottomAmount: effective,
+ large: false,
+ pending: false,
+ incoming: true,
+ baseURL: exchange.exchangeBaseUrl,
+ txStateLcl: nil, //
common.txState.major.localizedState
+ summary: nil,
+ merchant: nil,
+ products: nil)
+ if let wireFee {
+ if !wireFee.isZero {
+ let currencyInfo = controller.info(for: scope,
controller.currencyTicker)
+ let feeStr = wireFee.formatted(currencyInfo,
isNegative: false)
+ Text("Your bank's wire fee: \(feeStr)")
+ }
+ }
+ } else {
+ Section {
+ Text("The amount will be determined by the Cash
Acceptor.")
}
}
}
@@ -106,7 +112,7 @@ struct WithdrawAcceptView: View {
// scope: scope,
exchangeBaseUrl:
exchange.exchangeBaseUrl,
url: url,
- amountToTransfer:
amountToTransfer)
+ amountToTransfer:
amountToTransfer.isZero ? nil : amountToTransfer)
NavigationLink(destination: destination) {
Text("Confirm Withdrawal") //
SHEET_WITHDRAW_ACCEPT
}
diff --git a/TestFlight/WhatToTest.en-US.txt b/TestFlight/WhatToTest.en-US.txt
index bb5801a..6b6f776 100644
--- a/TestFlight/WhatToTest.en-US.txt
+++ b/TestFlight/WhatToTest.en-US.txt
@@ -1,3 +1,9 @@
+Version 0.14.2 (wallet-core 0.14.4)
+
+• New feature: cash-to-ecash with a Cash Acceptor device
+- Polish localization
+
+
Version 0.14.1 (wallet-core 0.14.1)
- bugfix: withdraw-template works again
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [taler-taler-ios] branch master updated (aea5ef9 -> 0ae512a),
gnunet <=