12.55. DD 55: Wallet Problem Reports¶
Note
Status: Early work in progress / DD number reservation.
Warning
We concluded that we don’t need the problem reports feature right now, as all cases we care about are already covered by something else.
12.55.1. Summary¶
This design document specifies global error reports generated/managed by wallet-core and rendered by the wallet UIs.
12.55.2. Motivation¶
Sometimes the wallet encounters issues that go beyond the scope of single transaction.
12.55.3. Requirements¶
problem reports must have a clear lifecycle
problem reports must have some type of identification that allows to easily find out if a new problem report needs to be created when an error happens or whether an existing one has been created
12.55.4. Proposed Solution¶
12.55.4.1. Report identification¶
The report identifier serves multiple purposes:
Usage as a reference in wallet-core APIs
De-duplication. The report ID should allow easy identification of an already existing report for a particular problem.
12.55.4.2. New wallet-core requests¶
listProblemReports
acknowledgeProblemReport
: Mark a problem report as read.deleteProblemReport
: Delete the problem report.
12.55.4.3. New wallet-core notification type¶
problem-report
to notify clients about status changes or an error report (including creation!)
12.55.4.4. Types of reports¶
(Currently we don’t have any good examples where this is actually needed.)
12.55.4.5. Examples of what should NOT be a report¶
money lost due to the exchange stopping to offer a denomination
=> Should be a transactions item
money locked behind a (long) pending refresh
=> Should be a pending transaction
money lost due to a permanently failing refresh
=> pending or final transaction item
money lost due to expired denominations (auto-refresh wasn’t done fast enough)
=> transaction item
a denomination changed its info (expiration, fees)
=> exchange entry state
Important information about the exchange changed (master pub, accounts, keys)
=> exchange entry state
12.55.5. Definition of Done¶
TBD.
12.55.6. Alternatives¶
Report problems with an API specific to each resource (exchange entry, transaction, …)
Have an alerts API that returns alerts to the client that the client can show to to the user, but that a user can’t interact with.
12.55.7. Drawbacks¶
TBD.
12.55.8. Discussion / Q&A¶
When is a report amended vs a new report created?
example: Exchange stops offering denomination D1. Later, it stops offering D2. Are two reports generated or is the first report changed?