View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0012102 | Taler | wallet (iOS App) | public | 2026-11-11 01:59 | 2026-11-11 01:59 |
| Reporter | bot-cg [agent] | Assigned To | Resolution deadline | ||
| Implementer | Reviewer | ||||
| Release signed by | Deployed by | ||||
| Verifier | Communicator | CM_7 | |||
| Data protection authority notification required | No | ||||
| CSIRT notification required | No | ||||
| Estimated effort (hours) | Actual effort (hours) | 0 | |||
| Fast-track | No | ||||
| Work package | none | ||||
| Priority | normal | Severity | minor | Reproducibility | have not tried |
| Status | new | Resolution | open | ||
| Summary | 0012102: iOS: a withdrawal waiting for the user's authorization at the bank is headed "Waiting for bank transfer" -- Android says "Waiting for authorization in the bank", web "Waiting for bank confirmation" (patch attached) | ||||
| Description | For a bank-integrated withdrawal that the user still has to authorize at the bank (txState pending/bank-confirm-transfer), the iOS transaction detail shows the state heading "Waiting for bank transfer" (de "Warte auf Banküberweisung", fr "En attente du virement bancaire", ...), directly above its own correct hint "The bank is waiting for your authorization." and the "Authorize now" button. The heading tells the user to wait for a transfer (or to make one), but in this state the bank is waiting for the user. Android and the WebExtension describe the same state correctly. What the user sees (withdrawal of KUDOS 3 from bank.demo.taler.net, accepted in the wallet, "Authorize later"): - iOS: "Waiting for bank transfer" / "The bank is waiting for your authorization." / "Authorize now" (before-ios-1.png). For comparison, a manual withdrawal that really waits for the user's bank transfer shows "Pending" / "The payment service is waiting for your wire-transfer." (before-ios-2.png). - Android: "Waiting for authorization in the bank" + "Authorize in bank" (before-android-1.png). - WebExtension: "Waiting for bank confirmation", card "Bank confirmation required - Confirm this withdrawal on your bank's website." + "Continue at bank" (before-web-1.png). Code (origin/master 674b7915): TalerWallet1/Model/Transaction.swift:75, MinorState.localizedState: case .bankConfirmTransfer -> "MinorState.bankConfirmTransfer" with the default value "Waiting for bank transfer" (all translations say the same). The patch (ios-F409-bank-confirm-label.patch, one line): use the existing, already translated string "Authorize at Bank" (the navigation title of the authorization screen, de "Bei der Bank autorisieren") as the state heading for .bankConfirmTransfer. No new strings; the key MinorState.bankConfirmTransfer becomes unused. Verified: wc-ios build (GNU_Taler, Release) succeeds; after-ios-1.png shows the same transaction with the patched build ("Authorize at Bank"). Assisted by LLM | ||||
| Steps To Reproduce | 1. Open a taler://withdraw/ link from https://bank.demo.taler.net/ and tap Confirm Withdrawal, then Authorize later. 2. Balances > Pending incoming > the withdrawal: heading "Waiting for bank transfer". | ||||
| Tags | No tags attached. | ||||
| Attached Files | ios-F409-bank-confirm-label.patch (1,319 bytes)
diff --git a/TalerWallet1/Model/Transaction.swift b/TalerWallet1/Model/Transaction.swift
index 51c680f2..93001df3 100755
--- a/TalerWallet1/Model/Transaction.swift
+++ b/TalerWallet1/Model/Transaction.swift
@@ -72,7 +72,7 @@ enum TransactionMinorState: String, Codable {
.kyc: return String(localized: "MinorState.kyc", defaultValue: "Legitimization required", comment: "TxMinorState heading")
case .acceptRefund,
.checkRefund: return String(localized: "MinorState.acceptRefund", defaultValue: "Checking for refund", comment: "TxMinorState heading")
- case .bankConfirmTransfer:return String(localized: "MinorState.bankConfirmTransfer", defaultValue: "Waiting for bank transfer", comment: "TxMinorState heading")
+ case .bankConfirmTransfer:return String(localized: "Authorize at Bank", comment: "Nav title") // the bank waits for the user, not for a transfer
case .completedByOtherWallet:return String(localized: "MinorState.completedByOther", defaultValue: "Completed by other wallet", comment: "TxMinorState heading")
// case .exchange: return self.rawValue // TODO: mention that money will come back
case .proposed: return self.rawValue // TODO: discuss
| ||||
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2026-11-11 01:59 | bot-cg | New Issue | |
| 2026-11-11 01:59 | bot-cg | File Added: before-ios-1.png | |
| 2026-11-11 01:59 | bot-cg | File Added: before-ios-2.png | |
| 2026-11-11 01:59 | bot-cg | File Added: before-android-1.png | |
| 2026-11-11 01:59 | bot-cg | File Added: before-web-1.png | |
| 2026-11-11 01:59 | bot-cg | File Added: after-ios-1.png | |
| 2026-11-11 01:59 | bot-cg | File Added: ios-F409-bank-confirm-label.patch |