View Issue Details

IDProjectCategoryView StatusLast Update
0010924Talerwallet (WebExtension)public2026-01-28 16:17
ReporterTungmar Assigned ToFlorian Dold  
PrioritynormalSeverityminorReproducibilityalways
Status assignedResolutionopen 
PlatformBrowser VivaldiOSLinux 
Product Version1.3 
Target Version1.5 
Summary0010924: Sending does not show the QR Code
DescriptionWhen sending to an other wallet, the transaction is created but on the confirming page no QR-Code or other mans to forward it to an other device is shown.
When opening the transaction again from the list, the QR-Code is there and the transaction can be completed.
TagsNo tags attached.
Attached Files
Screenshot_20260127_083231.png (31,743 bytes)   
Screenshot_20260127_083231.png (31,743 bytes)   

Relationships

related to 0010936 confirmed create a flag to initialize wallet with sim slow-server-response 

Activities

sebasjm

2026-01-27 15:38

developer   ~0027389

> When sending to an other wallet, the transaction is created but on the confirming page no QR-Code or other mans to forward it to an other device is shown.

This is OK, the transaction (creating the transfer) needs to complete in order to show the code

> When opening the transaction again from the list, the QR-Code is there

Yes, It has been completed. Could it be possible that just it was slow and completed while you were on the balance list? Does this easy to reproduce and happens constantly? You can try open a new tab to show the balance list and go to the TX detail if there is a problem the first one will keep with the old state (transaction pending) and the new one you will see the transaction completed (with the QR)

> and the transaction can be completed.

The transaction is already completed if the QR is shown. Maybe you meant a new transaction in other wallet can be created and completed or "the QR can be scanned and get the money from other wallet". Correct me if I misunderstood

Christian Grothoff

2026-01-27 15:56

manager   ~0027390

There are clearly UX problems here. I'm not sure what the exact issue is, but:
1) We MUST show the QR code immediately when the user initiates the P2P payment, receive or send. AFAIK some earlier versions required you to push a button first, which is IMO bad.

2) When the transaction is completed we indeed MUST NOT show the QR code anymore, but then we MUST also say that it is completed, and not -- like in the screenshot -- claim that it is still pending.

Now, the formulation in the screenshot is a bit odd, it says "pending to complete" -- that doesn't make sense in English. Either it is pending, or it is complete. Now, if the recipient scanned the QR code and we are merely "finishing" it (like getting change), then the formulation should be something like "The transaction is finishing." or maybe "The wallet is finalizing the transaction." -- now, this should basically be instant, so if a user could do a screenshot of that, I wonder if we *also* have a performance problem.

sebasjm

2026-01-27 16:10

developer   ~0027391

I'm going to take this issue to

1) check if we can show the QR earlier, we had this discussion before and AFAIK is shown as soon the exchange replies the http request (it can be shown before because the wallet knows the ID but is useless and it may fail in the other end) so this is the earliest

2) Fix the "pending to complete"

> if the recipient scanned the QR code

This is not the case, the pending state we see in the screenshot is because the transaction "create purse" is pending. For what I read from the user report

> the QR-Code is there and the transaction can be completed.

After the QR is shown, the recipient was able to scan and complete the second transaction.

sebasjm

2026-01-27 20:04

developer   ~0027397

The QR is shown instantly AFTER the wallet-core triggers the event `NotificationType.TransactionStateTransition` which refresh the screen with the QR. So the delay the user is reporting is between confirming the transfer and before receiving that notification.

Text changed to "This transaction is pending." and remains until the recipient receives the money.

sebasjm

2026-01-27 20:12

developer   ~0027398

It would be nice if we can get the user confirmation that the delay was between the creation of the transfer and the generation of the QR and NOT between the QR scanning from the recipient as @cg suggested.

Nota that we don't have a intermediate state while the recipient scanned the QR code and accepted. https://docs.taler.net/design-documents/037-wallet-transactions-lifecycle.html#transaction-type-peer-push-debit

So, more technically:

 * The screenshot is when the tx was in `pending(purse-create)`
 * The user went to balance list and back and saw the tx in state `pending(ready)` with QR code
 * After complete the tx transition to `[poll-success] => done` where the TX is in final state (instantly)

The delay was between 1 and 2.

And as far as I can see there is no issue with missing notifications from wallet-core to UI. Unless the user could reproduce this consistently.

Tungmar

2026-01-28 08:50

reporter   ~0027403

I tested it several times now. It some times really shows a the QR-Code after about 1/2 seconds, but some times not. I could not figure out in what cases it is not shown.

Christian Grothoff

2026-01-28 08:57

manager   ~0027405

We should only show the QR code after it is sure to 'work', so after the response from wallet-core.
Until then, we probably should show some text like "Generating payment request...".

Furthermore, if wallet-core fails to get an answer from the exchange in a timely fashion (say 1s?) we should probably indicate some transient error ("Waiting for response from server..."), show an explicit "retry now" (reload-symbol?) button and most importantly do render errors if wallet-core communicates any (like: DNS failure, TLS handshake failure, etc.) -- and auto-retry every say 30s while the dialog is open (and of course clear the transient errors upon success).

Christian Grothoff

2026-01-28 08:58

manager   ~0027407

Florian should check if there is more here that wallet-core can/should do to report transient issues/progress.

Issue History

Date Modified Username Field Change
2026-01-27 08:36 Tungmar New Issue
2026-01-27 08:36 Tungmar File Added: Screenshot_20260127_083231.png
2026-01-27 09:35 Christian Grothoff Assigned To => sebasjm
2026-01-27 09:35 Christian Grothoff Status new => assigned
2026-01-27 09:36 Christian Grothoff Priority normal => urgent
2026-01-27 09:36 Christian Grothoff Target Version => 1.4
2026-01-27 15:38 sebasjm Note Added: 0027389
2026-01-27 15:38 sebasjm Status assigned => feedback
2026-01-27 15:39 sebasjm Priority urgent => low
2026-01-27 15:56 Christian Grothoff Note Added: 0027390
2026-01-27 16:05 sebasjm Status feedback => confirmed
2026-01-27 16:05 sebasjm Priority low => normal
2026-01-27 16:10 sebasjm Note Added: 0027391
2026-01-27 20:04 sebasjm Note Added: 0027397
2026-01-27 20:12 sebasjm Status confirmed => feedback
2026-01-27 20:12 sebasjm Note Added: 0027398
2026-01-27 20:12 sebasjm Assigned To sebasjm =>
2026-01-28 08:50 Tungmar Note Added: 0027403
2026-01-28 08:50 Tungmar Status feedback => new
2026-01-28 08:57 Christian Grothoff Note Added: 0027405
2026-01-28 08:58 Christian Grothoff Note Added: 0027407
2026-01-28 11:42 Christian Grothoff Assigned To => Florian Dold
2026-01-28 11:42 Christian Grothoff Status new => assigned
2026-01-28 11:42 Christian Grothoff Target Version 1.4 => 1.5
2026-01-28 16:17 sebasjm Relationship added related to 0010936