Skip to content

Commit 8385a7c

Browse files
committed
Fix refresh token expired blank screen
1 parent c9effc2 commit 8385a7c

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

packages/twenty-front/src/modules/apollo/hooks/useApolloFactory.ts

+21-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
import { useMemo, useRef } from 'react';
22
import { useLocation, useNavigate } from 'react-router-dom';
33
import { InMemoryCache, NormalizedCacheObject } from '@apollo/client';
4-
import { useRecoilState, useRecoilValue } from 'recoil';
4+
import { useRecoilState, useSetRecoilState } from 'recoil';
55

6+
import { currentUserState } from '@/auth/states/currentUserState';
7+
import { currentWorkspaceMemberState } from '@/auth/states/currentWorkspaceMemberState';
68
import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState';
79
import { previousUrlState } from '@/auth/states/previousUrlState';
810
import { tokenPairState } from '@/auth/states/tokenPairState';
11+
import { workspacesState } from '@/auth/states/workspaces';
912
import { isDebugModeState } from '@/client-config/states/isDebugModeState';
1013
import { AppPath } from '@/types/AppPath';
1114
import { REACT_APP_SERVER_BASE_URL } from '~/config';
@@ -18,12 +21,20 @@ import { ApolloFactory, Options } from '../services/apollo.factory';
1821
export const useApolloFactory = (options: Partial<Options<any>> = {}) => {
1922
// eslint-disable-next-line @nx/workspace-no-state-useref
2023
const apolloRef = useRef<ApolloFactory<NormalizedCacheObject> | null>(null);
21-
const currentWorkspace = useRecoilValue(currentWorkspaceState);
2224
const [isDebugMode] = useRecoilState(isDebugModeState);
2325

2426
const navigate = useNavigate();
2527
const isMatchingLocation = useIsMatchingLocation();
2628
const [tokenPair, setTokenPair] = useRecoilState(tokenPairState);
29+
const [currentWorkspace, setCurrentWorkspace] = useRecoilState(
30+
currentWorkspaceState,
31+
);
32+
const setCurrentUser = useSetRecoilState(currentUserState);
33+
const setCurrentWorkspaceMember = useSetRecoilState(
34+
currentWorkspaceMemberState,
35+
);
36+
37+
const setWorkspaces = useSetRecoilState(workspacesState);
2738
const [, setPreviousUrl] = useRecoilState(previousUrlState);
2839
const location = useLocation();
2940

@@ -49,6 +60,10 @@ export const useApolloFactory = (options: Partial<Options<any>> = {}) => {
4960
},
5061
onUnauthenticatedError: () => {
5162
setTokenPair(null);
63+
setCurrentUser(null);
64+
setCurrentWorkspaceMember(null);
65+
setCurrentWorkspace(null);
66+
setWorkspaces(null);
5267
if (
5368
!isMatchingLocation(AppPath.Verify) &&
5469
!isMatchingLocation(AppPath.SignInUp) &&
@@ -69,6 +84,10 @@ export const useApolloFactory = (options: Partial<Options<any>> = {}) => {
6984
// eslint-disable-next-line react-hooks/exhaustive-deps
7085
}, [
7186
setTokenPair,
87+
setCurrentUser,
88+
setCurrentWorkspaceMember,
89+
setCurrentWorkspace,
90+
setWorkspaces,
7291
isDebugMode,
7392
currentWorkspace?.currentCacheVersion,
7493
setPreviousUrl,

0 commit comments

Comments
 (0)