From 93e54381fe3f2f28725f0b825bf2bab360beabcc Mon Sep 17 00:00:00 2001 From: jacobshandling <61553566+jacobshandling@users.noreply.github.com> Date: Fri, 31 Jan 2025 10:36:59 -0800 Subject: [PATCH] UI - Update default UseQuery retry (#25919) ## Discussed at @fleetdm/frontend sync - [x] Manual QA for all new/changed functionality --------- Co-authored-by: Jacob Shandling --- frontend/pages/ConfirmInvitePage/ConfirmInvitePage.tsx | 3 ++- frontend/utilities/constants.tsx | 9 ++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/frontend/pages/ConfirmInvitePage/ConfirmInvitePage.tsx b/frontend/pages/ConfirmInvitePage/ConfirmInvitePage.tsx index cc204c6a59..d222859e93 100644 --- a/frontend/pages/ConfirmInvitePage/ConfirmInvitePage.tsx +++ b/frontend/pages/ConfirmInvitePage/ConfirmInvitePage.tsx @@ -18,6 +18,7 @@ import ConfirmInviteForm from "components/forms/ConfirmInviteForm"; import { IConfirmInviteFormData } from "components/forms/ConfirmInviteForm/ConfirmInviteForm"; import { getErrorReason } from "interfaces/errors"; import { AxiosError } from "axios"; +import { DEFAULT_USE_QUERY_OPTIONS } from "utilities/constants"; interface IConfirmInvitePageProps { router: InjectedRouter; // v3 @@ -40,8 +41,8 @@ const ConfirmInvitePage = ({ router, params }: IConfirmInvitePageProps) => { "invite", () => inviteAPI.verify(invite_token), { + ...DEFAULT_USE_QUERY_OPTIONS, select: (resp: IValidateInviteResp) => resp.invite, - retry: (failureCount, error) => failureCount < 4 && error.status !== 404, } ); diff --git a/frontend/utilities/constants.tsx b/frontend/utilities/constants.tsx index 874cf8c730..4b79da95e4 100644 --- a/frontend/utilities/constants.tsx +++ b/frontend/utilities/constants.tsx @@ -429,8 +429,15 @@ export const HOST_OSQUERY_DATA = [ ]; export const DEFAULT_USE_QUERY_OPTIONS = { - retry: 3, refetchOnWindowFocus: false, + retry: (failureCount: number, error: unknown) => { + const err = error as any; + let isBadRequestErr = false; + if (err.status !== undefined) { + isBadRequestErr = err.status >= 400 && err.status < 500; + } + return failureCount < 4 && !isBadRequestErr; + }, }; export const INVALID_PLATFORMS_REASON =