23.43. DD 42: Wallet Dev Experiments#

Design status:

Accepted

Implementation status:

Implemented

DD shepherd:

TBD

Historical contributors:

Florian Dold

First published:

2023-03-28

Last substantive change:

2023-04-21

Implementation evidence:

taler-typescript-core (2022-10-12)

Normative references:

developer/taler-wallet-developer.rst

23.43.1. 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.

23.43.2. 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.

23.43.3. Requirements#

The implementation of synthetic errors should be as separate from production code as possible, to avoid making the normal code paths unreadable.

23.43.4. Proposed Solution#

23.43.4.1. Special taler:// URIs#

  • taler://dev-experiment/$STATE_ID

  • taler://pay/...?dev-experiment=

23.43.4.2. 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.

23.43.4.3. List of experiments#

23.43.5. Alternatives#

23.43.6. Drawbacks#

23.43.7. Discussion / Q&A#

(This should be filled in with results from discussions on mailing lists / personal communication.)