From f27341bfd6fa44efac248f8f697a4eea08e7648a Mon Sep 17 00:00:00 2001 From: Pavan Kumar VH Date: Thu, 3 Sep 2026 17:26:54 +0530 Subject: [PATCH] Fix NaN handling in windowDays calculation The function didn't validate that params.windowDays is a finite number. If it was NaN or Infinity, Math.max(1, NaN) would return NaN. Added Number.isFinite() check to default to FREEBUFF_USAGE_MAP_DAYS for invalid numbers. --- common/src/util/freebuff-usage-summary.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/common/src/util/freebuff-usage-summary.ts b/common/src/util/freebuff-usage-summary.ts index 093a5e4a59..ee7f056cac 100644 --- a/common/src/util/freebuff-usage-summary.ts +++ b/common/src/util/freebuff-usage-summary.ts @@ -53,7 +53,8 @@ export function buildFreebuffUsageSummary(params: { windowDays?: number timeZone?: string }): FreebuffUsageSummary { - const windowDays = Math.max(1, params.windowDays ?? FREEBUFF_USAGE_MAP_DAYS) + const safeWindowDays = params.windowDays !== undefined && Number.isFinite(params.windowDays) ? params.windowDays : FREEBUFF_USAGE_MAP_DAYS + const windowDays = Math.max(1, safeWindowDays) const todayDateKey = params.todayDateKey const allDates = [...new Set(params.activeDates)]