diff --git a/drb-frontend/lib/useIncidents.ts b/drb-frontend/lib/useIncidents.ts index 5619b61..62d8602 100644 --- a/drb-frontend/lib/useIncidents.ts +++ b/drb-frontend/lib/useIncidents.ts @@ -42,11 +42,17 @@ export function useIncidents(limitCount = 100, dateFrom?: Date, dateTo?: Date) { } // A range on the ordered field rides the existing org_id/started_at index. + // Incident started_at is stored as a Python isoformat() STRING + // ("2026-09-20T12:00:00.123456+00:00", incident_correlator.py), not a + // Firestore timestamp — unlike calls. A Date bound compares by type and + // matches nothing, so the bounds go in as UTC ISO strings in the same + // shape, which then compare lexicographically in time order. + const isoBound = (ms: number) => new Date(ms).toISOString().replace("Z", "+00:00"); const q = query( collection(db, "incidents"), where("org_id", "==", orgId), - ...(dateFromMs != null ? [where("started_at", ">=", new Date(dateFromMs))] : []), - ...(dateToMs != null ? [where("started_at", "<=", new Date(dateToMs))] : []), + ...(dateFromMs != null ? [where("started_at", ">=", isoBound(dateFromMs))] : []), + ...(dateToMs != null ? [where("started_at", "<=", isoBound(dateToMs))] : []), orderBy("started_at", "desc"), limit(limitCount) );