taler-docs

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

commit 82a5607315468a99b45f0460a7fb76f7cbe11853
parent 28e25f9f32e2806b038c7be2fe0761e3212bdabf
Author: Florian Dold <florian@dold.me>
Date:   Tue, 14 Jul 2026 11:08:46 +0200

rough notes on wallet error handling

Diffstat:
Awallet/wallet-error-handling.md | 33+++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+), 0 deletions(-)

diff --git a/wallet/wallet-error-handling.md b/wallet/wallet-error-handling.md @@ -0,0 +1,33 @@ +# Wallet Error Handling Notes + +* https://docs.taler.net/deployments/tops-stage-devtesting.html + +## Current + +* prepareWithdrawExchange + * "unknown provider" => "trying to connect" + * effect on DB + * new exchange (ephemeral) entry is created + * retries happen even after restart (FIXME: this should not happen) + * retries: + * Limited retries trying to contact exchange + * types of errors: + * No network / no response + * desired handling: Do transparent retries, allow user to "retry now" and "cancel" + * transient protocol error (500 from exchange) + * desired handling: Do transparent retries, allow user to "retry now" and "cancel" + * we may want to show the last error for diagnostics + * Permanent error (e.g. exchange version incompatible with wallet) + * desired error handling: show error message, no "retry now", + nothing should be left behind in the database + +## Changes + +* prepareWithdrawExchange + * progressId as new input (chosen by client / UI) + * notifications keyed on progressId + * "still waiting", nextRetry + * "transient error", nextRetry +* retryRequestNow(progressId) +* cancelRequest(progressId) +