From a6fbe9c72e8c428db60b7925b161033e3a2838d5 Mon Sep 17 00:00:00 2001 From: LightZirconite Date: Mon, 10 Nov 2025 23:05:03 +0100 Subject: [PATCH] =?UTF-8?q?Corrige=20la=20logique=20de=20jitter=20pour=20g?= =?UTF-8?q?arantir=20une=20augmentation=20du=20d=C3=A9lai=20dans=20le=20m?= =?UTF-8?q?=C3=A9canisme=20de=20retry?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/util/Retry.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/util/Retry.ts b/src/util/Retry.ts index c8ee004..7dcbb57 100644 --- a/src/util/Retry.ts +++ b/src/util/Retry.ts @@ -68,8 +68,8 @@ export class Retry { attempt += 1 const retry = isRetryable ? isRetryable(e) : true if (!retry || attempt >= this.policy.maxAttempts) break - // FIXED: Jitter should always increase delay, not decrease it (remove the -1) - const jitter = 1 + Math.random() * this.policy.jitter + // Apply jitter: vary delay by ±jitter% (e.g., jitter=0.2 means ±20%) + const jitter = 1 + (Math.random() * 2 - 1) * this.policy.jitter const sleep = Math.min(this.policy.maxDelay, Math.max(0, Math.floor(delay * jitter))) await new Promise((r) => setTimeout(r, sleep)) delay = Math.min(this.policy.maxDelay, Math.floor(delay * (this.policy.multiplier || 2)))