Remove header cache stuff

This commit is contained in:
Nate Kelley 2025-09-17 15:29:27 -06:00
parent c502c4be15
commit abad06f4ff
No known key found for this signature in database
GPG Key ID: FD90372AB8D98B4F
12 changed files with 5 additions and 49 deletions

View File

@ -91,13 +91,14 @@ export const useGetMetric = <TData = BusterMetric>(
} }
return false; return false;
}, },
enabled: (params?.enabled ?? true) && !!id,
select: undefined, select: undefined,
...params, ...params,
}); });
return useQuery({ return useQuery({
...metricsQueryKeys.metricsGetMetric(id || '', selectedVersionNumber), ...metricsQueryKeys.metricsGetMetric(id || '', selectedVersionNumber),
enabled: !!latestVersionNumber && isFetchedInitial && !isErrorInitial, enabled: !!id && !!latestVersionNumber && isFetchedInitial && !isErrorInitial,
queryFn: () => getMetricQueryFn({ id, version: selectedVersionNumber, password, queryClient }), queryFn: () => getMetricQueryFn({ id, version: selectedVersionNumber, password, queryClient }),
select: params?.select, select: params?.select,
}); });
@ -120,7 +121,7 @@ export const prefetchGetMetric = async (
const queryKey = metricsQueryKeys.metricsGetMetric(id, version_number || 'LATEST')?.queryKey; const queryKey = metricsQueryKeys.metricsGetMetric(id, version_number || 'LATEST')?.queryKey;
const existingData = queryClient.getQueryData(queryKey); const existingData = queryClient.getQueryData(queryKey);
if (!existingData) { if (!existingData && id) {
await queryClient.prefetchQuery({ await queryClient.prefetchQuery({
...metricsQueryKeys.metricsGetMetric(id, version_number || 'LATEST'), ...metricsQueryKeys.metricsGetMetric(id, version_number || 'LATEST'),
queryFn: () => queryFn: () =>
@ -208,7 +209,7 @@ export const prefetchGetMetricDataClient = async (
) => { ) => {
const options = metricsQueryKeys.metricsGetData(id, version_number); const options = metricsQueryKeys.metricsGetData(id, version_number);
const existingData = queryClient.getQueryData(options.queryKey); const existingData = queryClient.getQueryData(options.queryKey);
if (!existingData) { if (!existingData && id) {
await queryClient.prefetchQuery({ await queryClient.prefetchQuery({
...options, ...options,
queryFn: () => getMetricData({ id, version_number }), queryFn: () => getMetricData({ id, version_number }),

View File

@ -1,5 +1,4 @@
import { redirect } from '@tanstack/react-router'; import { redirect } from '@tanstack/react-router';
import { preventBrowserCacheHeaders } from '@/middleware/shared-headers';
export const beforeLoad = ({ export const beforeLoad = ({
params, params,
@ -18,7 +17,3 @@ export const beforeLoad = ({
statusCode: 301, statusCode: 301,
}); });
}; };
export const head = () => ({
meta: [...preventBrowserCacheHeaders],
});

View File

@ -1,5 +1,4 @@
import { redirect } from '@tanstack/react-router'; import { redirect } from '@tanstack/react-router';
import { preventBrowserCacheHeaders } from '@/middleware/shared-headers';
export const beforeLoad = ({ export const beforeLoad = ({
params, params,
@ -18,7 +17,3 @@ export const beforeLoad = ({
statusCode: 301, statusCode: 301,
}); });
}; };
export const head = () => ({
meta: [...preventBrowserCacheHeaders],
});

View File

@ -3,9 +3,3 @@ export const htmlCacheHeaders = [
{ httpEquiv: 'Cache-Control', content: 'public, max-age=300, must-revalidate' }, // 5 minutes { httpEquiv: 'Cache-Control', content: 'public, max-age=300, must-revalidate' }, // 5 minutes
{ httpEquiv: 'Pragma', content: 'cache' }, { httpEquiv: 'Pragma', content: 'cache' },
]; ];
// Use less aggressive caching to work better with Cloudflare
export const preventBrowserCacheHeaders = [
{ httpEquiv: 'Cache-Control', content: 'public, max-age=0, must-revalidate' },
{ httpEquiv: 'Pragma', content: 'no-cache' },
];

View File

@ -1,7 +1,5 @@
import { createRootRouteWithContext, HeadContent, Scripts } from '@tanstack/react-router'; import { createRootRouteWithContext, HeadContent, Scripts } from '@tanstack/react-router';
import { ErrorBoundary } from 'react-error-boundary';
import { RootProviders } from '@/context/Providers'; import { RootProviders } from '@/context/Providers';
import { preventBrowserCacheHeaders } from '@/middleware/shared-headers';
import shareImage from '../assets/png/default_preview.png'; import shareImage from '../assets/png/default_preview.png';
import favicon from '../assets/png/favicon.ico'; import favicon from '../assets/png/favicon.ico';
import { TanstackDevtools } from '../integrations/tanstack-dev-tools/tanstack-devtools'; import { TanstackDevtools } from '../integrations/tanstack-dev-tools/tanstack-devtools';
@ -32,7 +30,6 @@ export const Route = createRootRouteWithContext<AppRouterContext>()({
{ name: 'og:type', content: 'website' }, { name: 'og:type', content: 'website' },
{ name: 'og:locale', content: 'en_US' }, { name: 'og:locale', content: 'en_US' },
{ name: 'og:site_name', content: 'Buster' }, { name: 'og:site_name', content: 'Buster' },
...preventBrowserCacheHeaders,
], ],
links: [ links: [
{ rel: 'stylesheet', href: appCss }, { rel: 'stylesheet', href: appCss },

View File

@ -3,14 +3,8 @@ import { prefetchGetMyUserInfo } from '@/api/buster_rest/users/queryRequests';
import { getAppLayout } from '@/api/server-functions/getAppLayout'; import { getAppLayout } from '@/api/server-functions/getAppLayout';
import { AppProviders } from '@/context/Providers'; import { AppProviders } from '@/context/Providers';
import { getSupabaseSession } from '@/integrations/supabase/getSupabaseUserClient'; import { getSupabaseSession } from '@/integrations/supabase/getSupabaseUserClient';
import { preventBrowserCacheHeaders } from '@/middleware/shared-headers';
export const Route = createFileRoute('/app')({ export const Route = createFileRoute('/app')({
head: () => {
return {
meta: [...preventBrowserCacheHeaders],
};
},
context: ({ context }) => ({ ...context, getAppLayout }), context: ({ context }) => ({ ...context, getAppLayout }),
beforeLoad: async () => { beforeLoad: async () => {
try { try {

View File

@ -1,10 +1,6 @@
import { createFileRoute, redirect } from '@tanstack/react-router'; import { createFileRoute, redirect } from '@tanstack/react-router';
import { preventBrowserCacheHeaders } from '@/middleware/shared-headers';
export const Route = createFileRoute('/app/_app/datasets/$datasetId/permissions/')({ export const Route = createFileRoute('/app/_app/datasets/$datasetId/permissions/')({
head: () => ({
meta: [...preventBrowserCacheHeaders],
}),
beforeLoad: async ({ params }) => { beforeLoad: async ({ params }) => {
throw redirect({ throw redirect({
to: '/app/datasets/$datasetId/permissions/overview', to: '/app/datasets/$datasetId/permissions/overview',

View File

@ -1,7 +1,6 @@
import { createFileRoute, matchByPath, Outlet, redirect } from '@tanstack/react-router'; import { createFileRoute, matchByPath, Outlet, redirect } from '@tanstack/react-router';
import { prefetchGetDatasetMetadata } from '@/api/buster_rest/datasets/queryRequests'; import { prefetchGetDatasetMetadata } from '@/api/buster_rest/datasets/queryRequests';
import { DatasetsIndividualLayout } from '@/controllers/DatasetsControllers/DatasetsIndividualLayout/DatasetsLayout'; import { DatasetsIndividualLayout } from '@/controllers/DatasetsControllers/DatasetsIndividualLayout/DatasetsLayout';
import { preventBrowserCacheHeaders } from '@/middleware/shared-headers';
export const Route = createFileRoute('/app/_app/datasets/$datasetId')({ export const Route = createFileRoute('/app/_app/datasets/$datasetId')({
beforeLoad: async ({ params, location }) => { beforeLoad: async ({ params, location }) => {
@ -32,7 +31,6 @@ export const Route = createFileRoute('/app/_app/datasets/$datasetId')({
{ name: 'description', content: 'Explore and analyze your dataset' }, { name: 'description', content: 'Explore and analyze your dataset' },
{ name: 'og:title', content: 'Dataset' }, { name: 'og:title', content: 'Dataset' },
{ name: 'og:description', content: 'Explore and analyze your dataset' }, { name: 'og:description', content: 'Explore and analyze your dataset' },
...preventBrowserCacheHeaders,
], ],
}), }),
component: RouteComponent, component: RouteComponent,

View File

@ -1,10 +1,6 @@
import { createFileRoute, redirect } from '@tanstack/react-router'; import { createFileRoute, redirect } from '@tanstack/react-router';
import { preventBrowserCacheHeaders } from '@/middleware/shared-headers';
export const Route = createFileRoute('/app/_settings/settings/')({ export const Route = createFileRoute('/app/_settings/settings/')({
head: () => ({
meta: [...preventBrowserCacheHeaders],
}),
beforeLoad: async () => { beforeLoad: async () => {
throw redirect({ throw redirect({
to: '/app/settings/profile', to: '/app/settings/profile',

View File

@ -1,10 +1,6 @@
import { createFileRoute, redirect } from '@tanstack/react-router'; import { createFileRoute, redirect } from '@tanstack/react-router';
import { preventBrowserCacheHeaders } from '@/middleware/shared-headers';
export const Route = createFileRoute('/app/')({ export const Route = createFileRoute('/app/')({
head: () => ({
meta: [...preventBrowserCacheHeaders],
}),
beforeLoad: async () => { beforeLoad: async () => {
throw redirect({ to: '/app/home', replace: true, statusCode: 307 }); throw redirect({ to: '/app/home', replace: true, statusCode: 307 });
}, },

View File

@ -1,10 +1,6 @@
import { createFileRoute, redirect } from '@tanstack/react-router'; import { createFileRoute, redirect } from '@tanstack/react-router';
import { preventBrowserCacheHeaders } from '@/middleware/shared-headers';
export const Route = createFileRoute('/')({ export const Route = createFileRoute('/')({
head: () => ({
meta: [...preventBrowserCacheHeaders],
}),
beforeLoad: async () => { beforeLoad: async () => {
throw redirect({ to: '/app/home', replace: true }); throw redirect({ to: '/app/home', replace: true });
}, },

View File

@ -31,9 +31,7 @@ const config = defineConfig(({ command, mode }) => {
}) })
: undefined, : undefined,
], ],
worker: { worker: { format: 'es' },
format: 'es',
},
build: { build: {
chunkSizeWarningLimit: 1250, chunkSizeWarningLimit: 1250,
minify: isProduction ? 'esbuild' : false, minify: isProduction ? 'esbuild' : false,