View Issue Details

IDProjectCategoryView StatusLast Update
0010041Talerwallet (Android App)public2025-08-31 17:09
Reportersebasjm Assigned Toavalos Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PriorityhighSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Product Version1.0 
Target Version1.0 stretch goalsFixed in Version1.0 stretch goals 
Summary0010041: reading QR code leaves the app without response
DescriptionCreate a qr code like this

echo taler://withdraw-exchange/exchange.demo.taler.net/ | qrencode -t utf8 -o -

Read it, you will see a black screen and no clue.
The underlying problem is a \n in the QR code but the android app doesn't tell.

Looking at the logs i found this

05-27 15:54:34.331 8551 8551 D taler-wallet: could not refresh ToS status, exchange null was not found
05-27 15:54:34.335 8551 8580 D BackendManager: sending message:
05-27 15:54:34.335 8551 8580 D BackendManager: {
05-27 15:54:34.335 8551 8580 D BackendManager: "id": 31,
05-27 15:54:34.335 8551 8580 D BackendManager: "operation": "prepareWithdrawExchange",
05-27 15:54:34.335 8551 8580 D BackendManager: "args": {
05-27 15:54:34.335 8551 8580 D BackendManager: "talerUri": "taler:\/\/withdraw-exchange\/exchange.demo.taler.net\/\n"
05-27 15:54:34.335 8551 8580 D BackendManager: }
05-27 15:54:34.335 8551 8580 D BackendManager: }
05-27 15:54:34.339 8551 8570 D BackendManager: message received: {"type":"error","operation":"prepareWithdrawExchange","id":31,"error":{"code":7001,"when":{"t_ms":1748372074338},"hint":"unexpected exception (message: expected a taler://withdraw-exchange URI)","stack":" at handlePrepareWithdrawExchange (<compiled_js>:52768)\n at dispatchRequestInternal (<compiled_js>:54010)\n at dispatchWalletCoreApiRequest (<compiled_js>:54080)\n"}}

The error should be on screen to be actionable.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

Christian Grothoff

2025-05-28 18:27

manager   ~0025044

Errors should be on the screen, but also newlines/whitespace should simply be ignored by the parser.
If the screen goes black, this will just feel like a crash, thus some urgency to fix (both the ignore whitespace and the show errors when the parser fails *nicely*).

avalos

2025-06-03 14:08

developer   ~0025106

Fixed in latest commit! URL is now always trimmed.

val uri = uri.trim().toUri()

Issue History

Date ModifiedUsernameFieldChange
2025-05-28 10:22sebasjmNew Issue
2025-05-28 18:26Christian GrothoffAssigned To => avalos
2025-05-28 18:26Christian GrothoffPrioritynormal => high
2025-05-28 18:26Christian GrothoffSeverityminor => crash
2025-05-28 18:26Christian GrothoffStatusnew => assigned
2025-05-28 18:26Christian GrothoffProduct Version => 1.0
2025-05-28 18:26Christian GrothoffTarget Version => 1.0 stretch goals
2025-05-28 18:27Christian GrothoffNote Added: 0025044
2025-06-03 14:08avalosNote Added: 0025106
2025-06-03 14:08avalosStatusassigned => informing
2025-06-03 14:08avalosResolutionopen => fixed
2025-06-03 17:52Christian GrothoffFixed in Version => 1.0 stretch goals
2025-08-31 17:09Christian GrothoffStatusinforming => closed