View Issue Details

IDProjectCategoryView StatusLast Update
0005202Talerotherpublic2020-03-31 14:04
ReporterFlorian Dold Assigned ToFlorian Dold 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
PrioritynormalSeveritytextReproducibilityhave not tried
Status closedResolutionfixed 
Product Versiongit (master) 
Target Version0.7.0 
Summary0005202: clarify and document which amount format should be used where
DescriptionWe have these three:

1) The JSON format { currency, value, fraction }
2) The human-readable standard decimal form TESTKUDOS:95.00
3) The pretty-printed form, where rendering and parsing and display
might even depend on the user locale or other settings

The bank currently uses format (2) instead of (3), which probably is not what we want.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

Marcello Stanisci

2019-05-30 12:56

reporter   ~0014465

We spoke about splitting our glossary as user -vs- devs. So this must belong to devs'.

Christian Grothoff

2019-07-14 09:55

manager   ~0014670

Meta-question: do we want to preserve the JSON format? The string format is more compact, and we could avoid the entire issue by just having always the CURRENCY:value.fraction format instead of having two.

Christian Grothoff

2019-07-14 09:55

manager   ~0014671

Reminder sent to: Marcello Stanisci

Marcello Stanisci

2019-07-15 16:34

reporter   ~0014677

About the meta-question: I remeber someone suggested to *drop* the currency component from our amounts at some point. In that case, I would keep the JSON amount since it feels more "structured". If instead we keep the currency around, then I agree in dropping the JSON format and only have the stringified version.

Marcello Stanisci

2019-07-15 16:39

reporter   ~0014678

About the report: the bank communicates amounts to their customers with this format (just checked on a profile page and on public histories page on 'test'): 100.00 TESTKUDOS.

So no semicolon used and not very unfriendly.

Christian Grothoff

2019-07-15 17:31

manager   ~0014684

Eh, I am thinking of dropping the currency in the database schema, but that's for a different reason. Other than _inside_ of the database, we'll keep the currency around.

Christian Grothoff

2019-07-15 17:31

manager   ~0014685

Oh, and how we show things to users in the user interface should not be affected at all, that should ideally be controlled by the locale.

Florian Dold

2020-01-07 17:49

manager   ~0015239

As far as I can see this is completely resolved:

* public APIs always use the "EUR:2.50" format
* when displayed to the user, we do "2.50 EUR", potentially with variations based on locale or currency-specific changes, such as "€2.500,50" for "EUR:2500.50" with a German locale
* internally, each component uses what it wants, the C component uses an amount struct, the TypeScript wallet the { currency, value, fraction } object.

Issue History

Date ModifiedUsernameFieldChange
2017-12-09 00:53Florian DoldNew Issue
2017-12-09 10:07Christian GrothoffSeverityminor => text
2017-12-09 10:07Christian GrothoffStatusnew => implementing
2017-12-09 10:07Christian GrothoffProduct Version => git (master)
2019-05-30 12:56Marcello StanisciNote Added: 0014465
2019-07-14 09:55Christian GrothoffNote Added: 0014670
2019-07-14 09:55Christian GrothoffNote Added: 0014671
2019-07-15 16:34Marcello StanisciNote Added: 0014677
2019-07-15 16:39Marcello StanisciNote Added: 0014678
2019-07-15 17:31Christian GrothoffNote Added: 0014684
2019-07-15 17:31Christian GrothoffNote Added: 0014685
2020-01-07 17:49Florian DoldAssigned To => Florian Dold
2020-01-07 17:49Florian DoldStatusimplementing => informing
2020-01-07 17:49Florian DoldResolutionopen => fixed
2020-01-07 17:49Florian DoldNote Added: 0015239
2020-01-07 17:50Florian DoldTarget Version => 0.7.0
2020-03-31 14:04Christian GrothoffStatusinforming => closed