View Issue Details

IDProjectCategoryView StatusLast Update
0010254Talerwallet-corepublic2025-08-19 15:13
ReporterMarcS Assigned ToMarcS  
PriorityhighSeveritymajorReproducibilityalways
Status assignedResolutionopen 
Product Version1.0 
Target Version1.1 
Summary0010254: Wallet-core doesn't wake up correctly from background
DescriptionWhen the user switches to another app, Taler Wallet is sent to the background (if the user doesn't kill it).
When later the user taps on a talerURI e.g. in Mail.app, Taler Wallet is brought to the foreground again with an "openURL" call. The wallet then passes the talerURI to wallet-core - which does nothing, so the app hangs, spinning the Taler Logo forever...

❗️.onChange() ==> Background)
❗️App Will Enter Foreground
[M] 19:40:45.303 � Controller.swift:325 Controller#1 openURL(_:stack:) taler://pay/backend.chf.taler.net/instances/snack/2025.228-00RDM1DH37PR4/?c=GKMBDTDJGDAH0G03FQZ2M4N6RC
�"id":34 preparePayForUri{"talerPayUri":"taler:\/\/pay\/backend.chf.taler.net\/instances\/snack\/2025.228-00RDM1DH37PR4\/?c=GKMBDTDJGDAH0G03FQZ2M4N6RC"}
❗️.onChange() ==> Active
❗️App Did Become Active

Wallet-core should now examine the talerURI and query the server (in this case backend.chf.taler.net) for the payment data, but it does NOT start a network call.

Workaround: Kill the app, tap on the talerURI in Mail again - this time wallet-core sends a notification (transaction-state-transition) and makes a network call:

❗️.onChange() ==> Background)
❗️App Will Enter Foreground
[M] 19:50:40.198 � Controller.swift:325 Controller#1 openURL(_:stack:) taler://pay/backend.chf.taler.net/instances/snack/2025.228-00RDM1DH37PR4/?c=GKMBDTDJGDAH0G03FQZ2M4N6RC
�"id":20 preparePayForUri{"talerPayUri":"taler:\/\/pay\/backend.chf.taler.net\/instances\/snack\/2025.228-00RDM1DH37PR4\/?c=GKMBDTDJGDAH0G03FQZ2M4N6RC"}
pay-merchant.ts created new proposal for 2025.228-00RDM1DH37PR4 at https://backend.chf.taler.net/instances/snack/ session
pay-merchant.ts waiting for txn:payment:1HVA74PRCSTCFRJKJETAVGHJMKVTJC3A3PR4F7XBP8ZV7PKGHHMG to be downloaded
[9] 19:50:40.237 � WalletCore.swift:323 WalletCore#1 handleNotification(_:_:) {"type":"notification","payload":{"type":"transaction-state-transition","oldTxState":{"major":"none"},"newTxState":{"major":"pending","minor":"claim-proposal"},"transactionId":"txn:payment:1HVA74PRCSTCFRJKJETAVGHJMKVTJC3A3PR4F7XBP8ZV7PKGHHMG"}}
Pending:claim-proposal txn:payment:1HVA74PRCSTCFRJKJETAVGHJMKVTJC3A3PR4F7XBP8ZV7PKGHHMG
❓27 POST https://backend.chf.taler.net/instances/snack/orders/2025.228-00RDM1DH37PR4/claim
❗️ 27 https://backend.chf.taler.net/instances/snack/orders/2025.228-00RDM1DH37PR4/claim
Steps To Reproduce• Launch Taler Wallet, do something, then send it to the background.
• Wait some time (I don't know how long, but after 1 hour the following should happen)
• tap on a talerURI in a mail, or in the browser (e.g. the DEMO store)
Taler Wallet comes to the front, and should process the talerURI. But it just spins the Logo...
TagsNo tags attached.

Activities

Florian Dold

2025-08-18 15:06

manager   ~0025652

I need some more info to reproduce this.

* Does wallet-core not answer *any* requests? Or just preparePayForUri?
* Is the URI in preparePayForUri a new URI or did you call preparePayForUri on it before?

Issue History

Date Modified Username Field Change
2025-08-16 19:58 MarcS New Issue
2025-08-16 23:35 Christian Grothoff Assigned To => Florian Dold
2025-08-16 23:35 Christian Grothoff Status new => assigned
2025-08-16 23:35 Christian Grothoff Product Version => 1.0
2025-08-16 23:35 Christian Grothoff Target Version => 1.0 stretch goals
2025-08-18 15:05 Florian Dold Assigned To Florian Dold => MarcS
2025-08-18 15:06 Florian Dold Note Added: 0025652
2025-08-19 15:13 Christian Grothoff Target Version 1.0 stretch goals => 1.1