commit aaa11fabdacd0763c15b6a415f05e79cd4baba6e
parent 660950ed932ae668a31160ed67f290b5d7c14910
Author: Florian Dold <dold@taler.net>
Date: Wed, 22 Jul 2026 10:42:53 +0200
wallet: cap the retry delay at the maximum timeout
getRetryDuration returned an exponentially growing delay without applying the
maxTimeout of the retry policy that updateTimeout and computeDbBackoff honour.
Diffstat:
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/packages/taler-wallet-core/src/common.ts b/packages/taler-wallet-core/src/common.ts
@@ -586,7 +586,10 @@ const defaultRetryPolicy: RetryPolicy = {
export function getRetryDuration(count: number): Duration {
const p = defaultRetryPolicy;
- return Duration.multiply(p.backoffDelta, Math.pow(p.backoffBase, count));
+ return Duration.min(
+ p.maxTimeout,
+ Duration.multiply(p.backoffDelta, Math.pow(p.backoffBase, count)),
+ );
}
function updateTimeout(