taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

commit 62536c6c29e9754de5988b76883ddb04c5c529d8
parent b6c366c4e201bd54021b42750e0d36c27d83103e
Author: Florian Dold <florian@dold.me>
Date:   Wed, 21 Feb 2024 14:21:58 +0100

DD55 very early draft

Diffstat:
Adesign-documents/055-wallet-problem-report.rst | 82+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mdesign-documents/index.rst | 1+
2 files changed, 83 insertions(+), 0 deletions(-)

diff --git a/design-documents/055-wallet-problem-report.rst b/design-documents/055-wallet-problem-report.rst @@ -0,0 +1,82 @@ +DD 55: Wallet Problem Reports +############################# + +.. note:: + + **Status**: Early work in progress / DD number reservation. + +Summary +======= + +This design document specifies global error reports generated/managed by wallet-core +and rendered by the wallet UIs. + +Motivation +========== + +Sometimes the wallet encounters issues that go beyond the scope of single transaction. + +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 + +Proposed Solution +================= + +Report identification +--------------------- + +The report identifier serves multiple purposes: + +1. Usage as a reference in wallet-core APIs +2. De-duplication. The report ID should allow easy identification of an already existing report for a particular problem. + +New wallet-core requests +------------------------ + +* ``listProblemReports`` +* ``acknowledgeProblemReport``: Mark a problem report as read. +* ``deleteProblemReport``: Delete the problem report. + +New wallet-core notification type +--------------------------------- + +* ``problem-report`` to notify clients about status changes or an error report + (including creation!) + + +Types of reports +---------------- + +* money lost due to the exchange stopping to offer a denomination +* money locked behind a (long) pending refresh +* money lost due to a permanently failing refresh + + +Definition of Done +================== + +TBD. + +Alternatives +============ + +TBD. + +Drawbacks +========= + +TBD. + +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? + diff --git a/design-documents/index.rst b/design-documents/index.rst @@ -66,4 +66,5 @@ Design documents that start with "XX" are considered deprecated. 052-libeufin-bank-2fa.rst 053-wallet-ui.rst 054-dynamic-form.rst + 055-wallet-problem-report.rst 999-template