12.42. DD 42: Wallet Dev Experiments

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

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

12.42.3. Requirements

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

12.42.4. Proposed Solution

12.42.4.1. Special taler:// URIs

  • taler://dev-experiment/$STATE_ID

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

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

12.42.4.3. List of experiments

12.42.5. Alternatives

12.42.6. Drawbacks

12.42.7. Discussion / Q&A

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