View Issue Details

IDProjectCategoryView StatusLast Update
0009675Talerwallet (Android App)public2025-05-10 02:11
ReporterChristian Grothoff 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
PriorityurgentSeverityblockReproducibilityalways
Status closedResolutionfixed 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Product Versiongit (master) 
Target Version1.0Fixed in Version1.0 
Summary0009675: repurchase fails with "This transaction has failed or been abandoned" (when it wasn't).
DescriptionI tried to test repurchase. It fails -- like on iOS -- just differently. Using nightly from ~2 days ago.
Steps To Reproduce- Install Firefox+Webextension
- Withdraw KUDOS to Android wallet
- Select article from shop
- in WebEx wallet, do NOT pay but show QR code
- scan QR code, pay with Android wallet (works!)
- open article *again* in a new private window
- in WebEx wallet, show again QR code to Android
- scan QR code, caboom.
- expected behavior: this article was bought previously, auto-pay, WebExtension wallet redirects to article + offer to open on local device (see also what iOS wallet does -- note it also has failure modes, just different ones ;-)).

Note: if you pay with the WebExtension and then open in a private window, repurchase detection works nicely.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

avalos

2025-04-01 15:36

developer   ~0024361

This is because I'm getting the transaction state failed(paid-by-other) from wallet-core, should I render this minor state as “Order was already paid”? Other than that, I don't think I can do anything UI side, this could be a wallet-core issue.

Florian Dold

2025-04-01 21:12

manager   ~0024369

commit 2aaa990e7e22eec09eab370f4aeb6e1e1c45903f (HEAD -> master, origin/master, origin/HEAD)
Author: Florian Dold <florian@dold.me>
Date: Tue Apr 1 23:00:52 2025 +0200

    wallet-core: fix bad feature interaction in merchant payments
    
    Due to overloading of the "shared" flag, repurchase detection would go
    wrong for shared orders.

Florian Dold

2025-04-01 21:13

manager   ~0024370

@avalos please test if this is still reproducible with the current wallet-core.

avalos

2025-04-03 11:36

developer   ~0024385

Last edited: 2025-04-03 13:05

I just posted a screen recording to wallet UI in Mattermost showing the current behavior.

Oddly enough, a new transaction with state failed(repurchase) is created, is this the intended behavior?

Christian Grothoff

2025-04-04 12:19

manager   ~0024400

No, it should never 'fail' in the scenario I described, just go for 'already paid' or 'paid' and offer to show the article.

Florian Dold

2025-04-16 13:28

manager   ~0024577

fdold-work@sapota ~/r/t/taler-typescript-core (master)> git log
commit 51d2d831b0a6831cc7f722b0f0358ee073e52635 (HEAD -> master, origin/master, origin/HEAD)
Author: Florian Dold <florian@dold.me>
Date: Wed Apr 16 15:27:55 2025 +0200

    wallet-core: hide repurchase transactions by default, delete them when parent tx gets deleted

Florian Dold

2025-04-16 13:29

manager   ~0024578

Fixed as per the above commit message in 0.14.15.

@avalos: Please deploy and test.

avalos

2025-04-30 20:11

developer   ~0024736

Could no longer reproduce in latest Android wallet, feel free to reopen if this still persists.

Issue History

Date ModifiedUsernameFieldChange
2025-03-29 19:26Christian GrothoffNew Issue
2025-03-29 19:26Christian GrothoffStatusnew => assigned
2025-03-29 19:26Christian GrothoffAssigned To => avalos
2025-04-01 15:36avalosNote Added: 0024361
2025-04-01 16:04avalosAssigned Toavalos => Florian Dold
2025-04-01 16:04avalosStatusassigned => feedback
2025-04-01 21:12Florian DoldNote Added: 0024369
2025-04-01 21:13Florian DoldNote Added: 0024370
2025-04-01 21:13Florian DoldAssigned ToFlorian Dold => avalos
2025-04-03 11:36avalosNote Added: 0024385
2025-04-03 13:05avalosNote Edited: 0024385
2025-04-03 14:04avalosAssigned Toavalos => Christian Grothoff
2025-04-04 12:19Christian GrothoffNote Added: 0024400
2025-04-04 12:19Christian GrothoffAssigned ToChristian Grothoff => Florian Dold
2025-04-04 12:19Christian GrothoffStatusfeedback => assigned
2025-04-16 13:28Florian DoldNote Added: 0024577
2025-04-16 13:29Florian DoldNote Added: 0024578
2025-04-16 13:29Florian DoldAssigned ToFlorian Dold => avalos
2025-04-18 13:26Christian GrothoffTarget Version1.0 => 1.0 stretch goals
2025-04-22 09:02avalosStatusassigned => acknowledged
2025-04-22 11:02Christian GrothoffStatusacknowledged => assigned
2025-04-23 17:17avalosRelationship addedhas duplicate 0009750
2025-04-23 18:06avalosRelationship deletedhas duplicate 0009750
2025-04-30 20:11avalosStatusassigned => informing
2025-04-30 20:11avalosResolutionopen => fixed
2025-04-30 20:11avalosNote Added: 0024736
2025-04-30 20:14Christian GrothoffFixed in Version => 1.0
2025-04-30 20:14Christian GrothoffTarget Version1.0 stretch goals => 1.0
2025-05-10 02:11Christian GrothoffStatusinforming => closed