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 =