summaryrefslogtreecommitdiff
path: root/design-documents/042-synthetic-wallet-errors.rst
diff options
context:
space:
mode:
Diffstat (limited to 'design-documents/042-synthetic-wallet-errors.rst')
-rw-r--r--design-documents/042-synthetic-wallet-errors.rst57
1 files changed, 57 insertions, 0 deletions
diff --git a/design-documents/042-synthetic-wallet-errors.rst b/design-documents/042-synthetic-wallet-errors.rst
new file mode 100644
index 00000000..97262002
--- /dev/null
+++ b/design-documents/042-synthetic-wallet-errors.rst
@@ -0,0 +1,57 @@
+DD 42: Wallet Dev Experiments
+#############################
+
+Summary
+=======
+
+This design document defines new ``taler://`` URIs to cause synthetic errors
+or special states in the wallet that can then be rendered by the UI.
+
+Motivation
+==========
+
+UIs need to handle various (error-) states and responses of wallet-core. It's
+not easy to cover all of these states and responses manually. Some of them are
+hard to reach or simulate without an elaborate test setup.
+
+Requirements
+============
+
+The implementation of synthetic errors should be as separate from production
+code as possible, to avoid making the normal code paths unreadable.
+
+
+Proposed Solution
+=================
+
+Special taler:// URIs
+---------------------
+
+* ``taler://dev-experiment/$STATE_ID``
+* ``taler://pay/...?dev-experiment=``
+
+Special http(s):// URIs
+-----------------------
+
+* ``http(s)://*.dev-experiment.taler.net/``
+
+ * URLs for this subdomain are handled specially by the
+ wallet's HTTP layer and return fixed / mocked responses
+ instead of making real requests.
+
+
+List of experiments
+-------------------
+
+
+
+Alternatives
+============
+
+Drawbacks
+=========
+
+Discussion / Q&A
+================
+
+(This should be filled in with results from discussions on mailing lists / personal communication.)