From c331ada086e08576db68bfe2355fb9b56108c205 Mon Sep 17 00:00:00 2001 From: LP B Date: Sun, 13 Apr 2025 23:05:48 +0200 Subject: [PATCH] feat(app): 1s staleTime to avoid sending repeated requests (#607) --- app/portainer/tags/queries.ts | 1 - app/portainer/users/queries/useLoadCurrentUser.ts | 3 +-- app/portainer/users/queries/useUser.ts | 6 +----- app/react-tools/react-query.ts | 1 + .../HelmRepositoryDatatable/helm-repositories.service.ts | 1 - .../portainer/environments/environment-groups/queries.ts | 1 - app/react/portainer/environments/queries/useEnvironment.ts | 1 - .../registries/repositories/queries/useTagDetails.ts | 2 +- .../portainer/settings/queries/useExperimentalSettings.ts | 1 - app/react/portainer/settings/queries/useSettings.ts | 1 - 10 files changed, 4 insertions(+), 14 deletions(-) diff --git a/app/portainer/tags/queries.ts b/app/portainer/tags/queries.ts index fe4bac346..381de44b1 100644 --- a/app/portainer/tags/queries.ts +++ b/app/portainer/tags/queries.ts @@ -20,7 +20,6 @@ export function useTags({ enabled = true, }: { select?: (tags: Tag[]) => T; enabled?: boolean } = {}) { return useQuery(tagKeys.all, () => getTags(), { - staleTime: 50, select, enabled, ...withError('Failed to retrieve tags'), diff --git a/app/portainer/users/queries/useLoadCurrentUser.ts b/app/portainer/users/queries/useLoadCurrentUser.ts index bd47fbee9..324f27110 100644 --- a/app/portainer/users/queries/useLoadCurrentUser.ts +++ b/app/portainer/users/queries/useLoadCurrentUser.ts @@ -12,10 +12,9 @@ interface CurrentUserResponse extends User { forceChangePassword: boolean; } -export function useLoadCurrentUser({ staleTime }: { staleTime?: number } = {}) { +export function useLoadCurrentUser() { return useQuery(userQueryKeys.me(), () => getCurrentUser(), { ...withError('Unable to retrieve user details'), - staleTime, }); } diff --git a/app/portainer/users/queries/useUser.ts b/app/portainer/users/queries/useUser.ts index 01e069829..640e22374 100644 --- a/app/portainer/users/queries/useUser.ts +++ b/app/portainer/users/queries/useUser.ts @@ -8,13 +8,9 @@ import { User, UserId } from '../types'; import { userQueryKeys } from './queryKeys'; -export function useUser( - id: UserId, - { staleTime }: { staleTime?: number } = {} -) { +export function useUser(id: UserId) { return useQuery(userQueryKeys.user(id), () => getUser(id), { ...withError('Unable to retrieve user details'), - staleTime, }); } diff --git a/app/react-tools/react-query.ts b/app/react-tools/react-query.ts index 336b72308..2ebedbd18 100644 --- a/app/react-tools/react-query.ts +++ b/app/react-tools/react-query.ts @@ -88,6 +88,7 @@ export function createQueryClient() { defaultOptions: { queries: { networkMode: 'offlineFirst', + staleTime: 1000, // 1s stale time by default }, }, mutationCache: new MutationCache({ diff --git a/app/react/portainer/account/AccountView/HelmRepositoryDatatable/helm-repositories.service.ts b/app/react/portainer/account/AccountView/HelmRepositoryDatatable/helm-repositories.service.ts index c12ed9ffa..b4c5cc63b 100644 --- a/app/react/portainer/account/AccountView/HelmRepositoryDatatable/helm-repositories.service.ts +++ b/app/react/portainer/account/AccountView/HelmRepositoryDatatable/helm-repositories.service.ts @@ -83,7 +83,6 @@ export function useDeleteHelmRepositoriesMutation() { export function useHelmRepositories(userId: number) { return useQuery(['helmrepositories'], () => getHelmRepositories(userId), { - staleTime: 20, ...withError('Unable to retrieve Helm repositories'), }); } diff --git a/app/react/portainer/environments/environment-groups/queries.ts b/app/react/portainer/environments/environment-groups/queries.ts index 74a588d24..9c93dde62 100644 --- a/app/react/portainer/environments/environment-groups/queries.ts +++ b/app/react/portainer/environments/environment-groups/queries.ts @@ -31,7 +31,6 @@ export function useGroup( return getGroup(groupId); }, { - staleTime: 50, select, enabled: groupId !== undefined, ...withGlobalError('Failed loading group'), diff --git a/app/react/portainer/environments/queries/useEnvironment.ts b/app/react/portainer/environments/queries/useEnvironment.ts index b2b8fd6bd..1843d00e6 100644 --- a/app/react/portainer/environments/queries/useEnvironment.ts +++ b/app/react/portainer/environments/queries/useEnvironment.ts @@ -27,7 +27,6 @@ export function useEnvironment( { select, ...withError('Failed loading environment'), - staleTime: 50, enabled: !!environmentId, refetchInterval() { return options?.autoRefreshRate ?? false; diff --git a/app/react/portainer/registries/repositories/queries/useTagDetails.ts b/app/react/portainer/registries/repositories/queries/useTagDetails.ts index 89da912f7..6997a8eca 100644 --- a/app/react/portainer/registries/repositories/queries/useTagDetails.ts +++ b/app/react/portainer/registries/repositories/queries/useTagDetails.ts @@ -20,7 +20,7 @@ interface Params { export function useTagDetails( params: Params, { - staleTime = 0, + staleTime, select, }: { select?: (model: RepositoryTagViewModel) => T; staleTime?: number } = {} ) { diff --git a/app/react/portainer/settings/queries/useExperimentalSettings.ts b/app/react/portainer/settings/queries/useExperimentalSettings.ts index dda159ca1..f67e95152 100644 --- a/app/react/portainer/settings/queries/useExperimentalSettings.ts +++ b/app/react/portainer/settings/queries/useExperimentalSettings.ts @@ -19,7 +19,6 @@ export function useExperimentalSettings( return useQuery(queryKeys.experimental(), getExperimentalSettings, { select, enabled, - staleTime: 50, ...withError('Unable to retrieve experimental settings'), }); } diff --git a/app/react/portainer/settings/queries/useSettings.ts b/app/react/portainer/settings/queries/useSettings.ts index 04d7094c8..15a206e9a 100644 --- a/app/react/portainer/settings/queries/useSettings.ts +++ b/app/react/portainer/settings/queries/useSettings.ts @@ -22,7 +22,6 @@ export function useSettings( return useQuery(queryKeys.base(), getSettings, { select, enabled, - staleTime: 50, ...withError('Unable to retrieve settings'), }); }