From e08935b411caec21abc1bd795f6af8a889687f03 Mon Sep 17 00:00:00 2001 From: kaitranntt Date: Sat, 13 Dec 2025 00:49:36 -0500 Subject: [PATCH] fix(analytics): guard against undefined data arrays in filtering - Add null check to filterByDateRange function - Guard hourlyData before filtering in hourly endpoint --- src/web-server/usage-routes.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/web-server/usage-routes.ts b/src/web-server/usage-routes.ts index 6efc399d..ebd058b7 100644 --- a/src/web-server/usage-routes.ts +++ b/src/web-server/usage-routes.ts @@ -640,10 +640,11 @@ function validateOffset(offset?: string): number { * Filter data by date range */ function filterByDateRange( - data: T[], + data: T[] | undefined, since?: string, until?: string ): T[] { + if (!data || !Array.isArray(data)) return []; if (!since && !until) return data; return data.filter((item) => { @@ -835,8 +836,8 @@ usageRoutes.get( const hourlyData = await getCachedHourlyData(); - // Filter by date range - const filtered = hourlyData.filter((h) => { + // Filter by date range (guard against undefined) + const filtered = (hourlyData || []).filter((h) => { // Extract date from hour format "YYYY-MM-DD HH:00" const hourDate = h.hour.slice(0, 10).replace(/-/g, ''); if (since && hourDate < since) return false;