diff --git a/lib/actions/user-actions.js b/lib/actions/user-actions.js --- a/lib/actions/user-actions.js +++ b/lib/actions/user-actions.js @@ -129,7 +129,7 @@ return React.useCallback( async (keyserverIDs?: $ReadOnlyArray) => { const identityPromise = (async () => { - if (!usingCommServicesAccessToken) { + if (!usingCommServicesAccessToken || !commServicesAccessToken) { return; } if (!identityClient) { diff --git a/web/components/log-out-if-missing-csat-handler.react.js b/web/components/log-out-if-missing-csat-handler.react.js new file mode 100644 --- /dev/null +++ b/web/components/log-out-if-missing-csat-handler.react.js @@ -0,0 +1,24 @@ +// @flow + +import * as React from 'react'; + +import { logOutActionTypes, useLogOut } from 'lib/actions/user-actions.js'; +import { useDispatchActionPromise } from 'lib/utils/redux-promise-utils.js'; +import { useSelector } from 'lib/utils/redux-utils.js'; +import { usingCommServicesAccessToken } from 'lib/utils/services-utils.js'; + +function LogOutIfMissingCSATHandler() { + const dispatchActionPromise = useDispatchActionPromise(); + const callLogOut = useLogOut(); + + const hasAccessToken = useSelector(state => !!state.commServicesAccessToken); + const dataLoaded = useSelector(state => state.dataLoaded); + + React.useEffect(() => { + if (!hasAccessToken && dataLoaded && usingCommServicesAccessToken) { + void dispatchActionPromise(logOutActionTypes, callLogOut()); + } + }, [callLogOut, dataLoaded, dispatchActionPromise, hasAccessToken]); +} + +export default LogOutIfMissingCSATHandler; diff --git a/web/root.js b/web/root.js --- a/web/root.js +++ b/web/root.js @@ -20,6 +20,7 @@ import { getWagmiConfig } from 'lib/utils/wagmi-utils.js'; import App from './app.react.js'; +import LogOutIfMissingCSATHandler from './components/log-out-if-missing-csat-handler.react.js'; import ErrorBoundary from './error-boundary.react.js'; import IdentityServiceContextProvider from './grpc/identity-service-context-provider.react.js'; import { defaultWebState } from './redux/default-state.js'; @@ -70,6 +71,7 @@ +