core: prevent TimeoutOverflowWarning by capping setTimeout delay to max 32-bit signed integer

This commit is contained in:
Aiden Cline
2025-12-31 16:15:49 -06:00
parent c93e7621be
commit 9a1dc1ffe4
2 changed files with 22 additions and 1 deletions

View File

@@ -5,10 +5,11 @@ export namespace SessionRetry {
export const RETRY_INITIAL_DELAY = 2000
export const RETRY_BACKOFF_FACTOR = 2
export const RETRY_MAX_DELAY_NO_HEADERS = 30_000 // 30 seconds
export const RETRY_MAX_DELAY = 2_147_483_647 // max 32-bit signed integer for setTimeout
export async function sleep(ms: number, signal: AbortSignal): Promise<void> {
return new Promise((resolve, reject) => {
const timeout = setTimeout(resolve, ms)
const timeout = setTimeout(resolve, Math.min(ms, RETRY_MAX_DELAY))
signal.addEventListener(
"abort",
() => {