View Issue Details

IDProjectCategoryView StatusLast Update
0007439Talerwallet (Android App)public2023-09-23 13:09
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
PrioritynormalSeveritytweakReproducibilityN/A
Status closedResolutionfixed 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Product Version0.9 
Target Version0.9.3Fixed in Version0.9.3 
Summary0007439: cannot specify expiration for push payments in Android wallet
DescriptionWhen sending money to another wallet, it must be possible for the user to specify an expiration time for the push payment, as only then the coins that were pushed can be recovered if the receiver didn't accept the payment.

Similarly, we should also allow setting an expiration date when invoicing (technically a separate issue, but very symmetric so should be done at the same time).

This is also missing in the other wallets.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Relationships

related to 0007440 closedMarcS cannot specify expiration for push payments in WebExtension 

Activities

grote

2023-01-03 14:34

reporter   ~0019558

@sebasjm I see that there is purse_expiration now added in https://git.taler.net/wallet-core.git/commit/?id=5c742afb However, the API docs still don't contain this. I can try to scrape the source code for details, but `any` in the docs should really go away in favor of real docs.

grote

2023-01-03 14:39

reporter   ~0019559

> it must be possible for the user to specify an expiration time for the push payment, as only then the coins that were pushed can be recovered if the receiver didn't accept the payment.

@Christian Grothoff  it looks like before wallet-core was setting this on its on to a sane default value. I am not sure cluttering the UI with this is actually a good idea. Is there a strong use-case for customizing the expiry or could we not just add a small print saying: The money will be available for X days and if not claimed will return automatically (minus a nominal fee).

grote

2023-01-03 14:45

reporter   ~0019560

@sebasjm it also seems in this commit, the amount was moved into the contract terms which is also not reflected in the documentation: https://docs.taler.net/wallet/wallet-core.html#initiatepeerpushpaymentop

Also, this breaks peer-push in the Android wallet, because it was yet another unannounced protocol change.

sebasjm

2023-01-03 15:23

developer   ~0019561

docs updated, should be online soon

grote

2023-01-03 15:45

reporter   ~0019563

Christian, if you feel strongly about letting the user specify expiry, do you have special requirements for how to let the user do that? several options as buttons with one pre-selected or a date picker? or an input field for a number of days?

Christian Grothoff

2023-01-06 14:02

manager   ~0019594

No super-strong feelings. But:
1) I suspect we don't need time to be very precise in the default implementation, so *date* should be enough, not the exact hour / minute / second.
2) We probably don't want to offer excessively long choices --- like in 10 years makes no sense. In fact, probably even 1 year will not make sense. I'd expect all sane choices to be < 3 months (as we're talking about locking up funds!).

So based on this, an input field with a number of days limited to 2 or maybe 3 digits is probably the simplest widget and one that will prevent stupid inputs, too ;-).

avalos

2023-02-21 00:37

developer   ~0019892

This is my proposal.
Expiration Date.png (14,190 bytes)   
Expiration Date.png (14,190 bytes)   

grote

2023-02-21 12:20

reporter   ~0019895

Looks good. Fine with me. Maybe put the entire widget into a re-usable composable.

grote

2023-03-21 21:14

reporter   ~0019972

implemented in https://git.taler.net/taler-android.git/commit/?id=1c979ef1d0efd8bdaed7dda292825c41f1d48893

Issue History

Date ModifiedUsernameFieldChange
2022-11-06 21:54Christian GrothoffNew Issue
2022-11-06 21:54Christian GrothoffStatusnew => assigned
2022-11-06 21:54Christian GrothoffAssigned To => grote
2022-11-06 21:55Christian GrothoffSummarycannot specify expiration for push payments => cannot specify expiration for push payments in Android wallet
2022-11-06 21:56Christian GrothoffRelationship addedrelated to 0007440
2022-12-20 17:26Christian GrothoffTarget Version0.9.1 => 0.9.2
2023-01-03 14:34groteNote Added: 0019558
2023-01-03 14:39groteNote Added: 0019559
2023-01-03 14:45groteNote Added: 0019560
2023-01-03 15:23sebasjmNote Added: 0019561
2023-01-03 15:45groteAssigned Togrote => Christian Grothoff
2023-01-03 15:45groteStatusassigned => feedback
2023-01-03 15:45groteNote Added: 0019563
2023-01-06 14:02Christian GrothoffNote Added: 0019594
2023-01-06 14:02Christian GrothoffAssigned ToChristian Grothoff => grote
2023-01-06 14:02Christian GrothoffStatusfeedback => assigned
2023-02-21 00:16avalosAssigned Togrote => avalos
2023-02-21 00:37avalosNote Added: 0019892
2023-02-21 00:37avalosFile Added: Expiration Date.png
2023-02-21 12:20groteNote Added: 0019895
2023-03-07 17:55Florian DoldTarget Version0.9.2 => 0.9.3
2023-03-21 21:14groteStatusassigned => informing
2023-03-21 21:14groteResolutionopen => fixed
2023-03-21 21:14groteNote Added: 0019972
2023-09-23 13:07Christian GrothoffFixed in Version => 0.9.3
2023-09-23 13:09Christian GrothoffStatusinforming => closed