taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

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:
Mpackages/taler-wallet-core/src/common.ts | 5++++-
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(