View Issue Details

IDProjectCategoryView StatusLast Update
0009683Talerwallet (Android App)public2025-04-10 17:19
ReporterAntoine A Assigned ToFlorian Dold  
PrioritynormalSeverityminorReproducibilityhave not tried
Status assignedResolutionopen 
Target Version1.0 
Summary0009683: Opening an already completed withdrawal and confirming it produce an error
Description{
  "code": 7001,
  "hint": "unexpected exception (message: unable to confirm withdrawal in current state: 83951617)",
  "message": null,
  "when": {
    "t_ms": 1743498486168
  },
  "stack": " at <anonymous> (<compiled_js>:35938)\n at <anonymous> (<compiled_js>:33859)\n"
}
TagsNo tags attached.

Activities

Florian Dold

2025-04-07 21:47

manager   ~0024435

I've improved the error reporting, but IMO this is a UI problem. The UI should not let the user confirm, but instead check the transaction's state first.

avalos

2025-04-09 22:07

developer   ~0024492

How do you confirm an already confirmed withdrawal?

Not clear to me how to reproduce this.

Antoine A

2025-04-10 09:01

developer   ~0024493

Initiate a withdrawal from the bank account and save the QR code somewhere.
With your android wallet scan the QR code and complete the withdrawal.
Then scan the QR code again, the wallet does not detect that the withdrawal is already confirmed and propose to confirm it again leading to the error.

avalos

2025-04-10 13:15

developer   ~0024496

Shouldn't `getWithdrawalDetailsForUri` do the error reporting?

avalos

2025-04-10 14:04

developer   ~0024498

What are the statuses where we can safely confirm the withdrawal?

export type WithdrawalOperationStatusFlag =
  | "pending"
  | "selected"
  | "aborted"
  | "confirmed";

Antoine A

2025-04-10 17:19

developer   ~0024500

Not yet familiar enough with the codebase to fix this issue myself but I added some FIXME 0009683 in withdrawal tests where the current behavior should be improved

Issue History

Date Modified Username Field Change
2025-04-01 11:08 Antoine A New Issue
2025-04-01 11:08 Antoine A Status new => assigned
2025-04-01 11:08 Antoine A Assigned To => Florian Dold
2025-04-07 21:47 Florian Dold Note Added: 0024435
2025-04-07 21:47 Florian Dold Assigned To Florian Dold => avalos
2025-04-09 22:07 avalos Note Added: 0024492
2025-04-09 22:08 avalos Assigned To avalos => Antoine A
2025-04-09 22:08 avalos Status assigned => feedback
2025-04-10 09:01 Antoine A Note Added: 0024493
2025-04-10 09:01 Antoine A Assigned To Antoine A => avalos
2025-04-10 13:15 avalos Note Added: 0024496
2025-04-10 14:04 avalos Note Added: 0024498
2025-04-10 14:04 avalos Assigned To avalos => Florian Dold
2025-04-10 17:19 Antoine A Note Added: 0024500
2025-04-10 17:19 Antoine A Status feedback => assigned