Merge pull request #4140 from seojcarlos/fix/firefox-events-nan

fix: prevent NaN timestamps from breaking event charts in Firefox
This commit is contained in:
Mike Cao authored and GitHub committed 2026-05-14 23:28:51 -04:00
commit a48f5aad5f
2 files changed
+20 -5

No files matched your search

+19 -4
View File
@@ -1,17 +1,32 @@
import { useDateRange } from './useDateRange';
import { useTimezone } from './useTimezone';
function safeToISOString(date: Date, fallback: Date): string {
try {
return date.toISOString();
} catch {
return fallback.toISOString();
}
}
export function useDateParameters() {
const {
dateRange: { startDate, endDate, unit },
} = useDateRange();
const { timezone, localToUtc, canonicalizeTimezone } = useTimezone();
const utcStart = localToUtc(startDate);
const utcEnd = localToUtc(endDate);
const startAtValue = +utcStart;
const endAtValue = +utcEnd;
const isStartValid = Number.isFinite(startAtValue);
const isEndValid = Number.isFinite(endAtValue);
return {
startAt: +localToUtc(startDate),
endAt: +localToUtc(endDate),
startDate: localToUtc(startDate).toISOString(),
endDate: localToUtc(endDate).toISOString(),
startAt: isStartValid ? startAtValue : +startDate,
endAt: isEndValid ? endAtValue : +endDate,
startDate: safeToISOString(isStartValid ? utcStart : startDate, startDate),
endDate: safeToISOString(isEndValid ? utcEnd : endDate, endDate),
unit,
timezone: canonicalizeTimezone(timezone),
};
+1 -1
View File
@@ -2,7 +2,7 @@ export function getQueryString(params: object = {}): string {
const searchParams = new URLSearchParams();
Object.entries(params).forEach(([key, value]) => {
if (value !== undefined) {
if (value !== undefined && value !== null && !Number.isNaN(value)) {
searchParams.append(key, value);
}
});