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:
2 files changed
+20
-5
No files matched your search
@@ -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
@@ -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);
|
||||
}
|
||||
});
|
||||
|
||||
Reference in new issue
Block a user