diff --git a/apps/studio/hooks/analytics/useLogsQuery.tsx b/apps/studio/hooks/analytics/useLogsQuery.tsx index 77fec615d88..d893b380722 100644 --- a/apps/studio/hooks/analytics/useLogsQuery.tsx +++ b/apps/studio/hooks/analytics/useLogsQuery.tsx @@ -52,8 +52,12 @@ const useLogsQuery = ( ...initialParams, project: projectRef, sql: initialParams?.sql ?? prev.sql, - iso_timestamp_start: initialParams.iso_timestamp_start ?? prev.iso_timestamp_start, - iso_timestamp_end: initialParams.iso_timestamp_end ?? prev.iso_timestamp_end, + iso_timestamp_start: initialParams.iso_timestamp_start + ? initialParams.iso_timestamp_start + : defaultHelper.calcFrom(), + iso_timestamp_end: initialParams.iso_timestamp_end + ? initialParams.iso_timestamp_end + : defaultHelper.calcTo(), })) }, [ projectRef, diff --git a/apps/studio/pages/project/[ref]/logs/explorer/index.tsx b/apps/studio/pages/project/[ref]/logs/explorer/index.tsx index 85dca740843..02ff3525f1b 100644 --- a/apps/studio/pages/project/[ref]/logs/explorer/index.tsx +++ b/apps/studio/pages/project/[ref]/logs/explorer/index.tsx @@ -12,6 +12,8 @@ import { LOGS_LARGE_DATE_RANGE_DAYS_THRESHOLD, LOGS_TABLES, TEMPLATES, + EXPLORER_DATEPICKER_HELPERS, + getDefaultHelper, } from 'components/interfaces/Settings/Logs/Logs.constants' import { DatePickerToFrom, @@ -106,6 +108,7 @@ export const LogsExplorerPage: NextPageWithLayout = () => { isLoading: logsLoading, changeQuery, runQuery, + setParams, } = useLogsQuery( projectRef, { @@ -221,7 +224,12 @@ export const LogsExplorerPage: NextPageWithLayout = () => { }) } - changeQuery(query) + setParams((prev: typeof params) => ({ + ...prev, + sql: query, + iso_timestamp_start: timestampStart, + iso_timestamp_end: timestampEnd, + })) runQuery() router.push({ pathname: router.pathname, @@ -354,6 +362,14 @@ export const LogsExplorerPage: NextPageWithLayout = () => { } }, [timestampStart, organization]) + // Ensure default date range is set in URL state on first load + useEffect(() => { + const defaultHelper = getDefaultHelper(EXPLORER_DATEPICKER_HELPERS) + if (!timestampStart && !timestampEnd) { + setTimeRange(defaultHelper.calcFrom(), defaultHelper.calcTo()) + } + }, [timestampStart, timestampEnd, setTimeRange]) + return (