fix: clamp minDelayMs to timer-safe maximum

Also improve code clarity with explicit rawMinDelayMs/rawMaxDelayMs variables.
This commit is contained in:
fengyuwusong 2026-03-06 12:28:29 +08:00
parent e4f9097feb
commit 1fa3623eae

View File

@ -76,12 +76,14 @@ type AnnounceRetryConfig = {
function resolveAnnounceRetryConfig(cfg: ReturnType<typeof loadConfig>): AnnounceRetryConfig {
const retry = cfg.agents?.defaults?.subagents?.announceRetry;
const minDelayMs =
// Clamp minDelayMs to timer-safe maximum
const rawMinDelayMs =
typeof retry?.minDelayMs === "number" &&
Number.isFinite(retry.minDelayMs) &&
retry.minDelayMs > 0
? Math.floor(retry.minDelayMs)
: DEFAULT_ANNOUNCE_RETRY_MIN_DELAY_MS;
const minDelayMs = Math.min(rawMinDelayMs, MAX_TIMER_SAFE_TIMEOUT_MS);
const rawMaxDelayMs =
typeof retry?.maxDelayMs === "number" &&
Number.isFinite(retry.maxDelayMs) &&