diff --git a/packages/web/src/components/ApolloProvider/index.tsx b/packages/web/src/components/ApolloProvider/index.tsx
index 5be9549a..dced28f4 100644
--- a/packages/web/src/components/ApolloProvider/index.tsx
+++ b/packages/web/src/components/ApolloProvider/index.tsx
@@ -2,7 +2,7 @@ import * as React from 'react';
import { ApolloProvider as BaseApolloProvider } from '@apollo/client';
import { useSnackbar } from 'notistack';
-import client, { setLink } from 'graphql/client';
+import { mutateAndGetClient } from 'graphql/client';
import useAuthentication from 'hooks/useAuthentication';
type ApolloProviderProps = {
@@ -17,9 +17,12 @@ const ApolloProvider = (props: ApolloProviderProps): React.ReactElement => {
enqueueSnackbar(message, { variant: 'error' });
}, [enqueueSnackbar]);
- React.useEffect(() => {
- setLink({ onError, token: authentication.token })
- }, [onError, authentication]);
+ const client = React.useMemo(() => {
+ return mutateAndGetClient({
+ onError,
+ token: authentication.token,
+ });
+ }, [onError, authentication]);
return (
diff --git a/packages/web/src/components/LoginForm/index.tsx b/packages/web/src/components/LoginForm/index.tsx
index 2ed8189f..c6286e4f 100644
--- a/packages/web/src/components/LoginForm/index.tsx
+++ b/packages/web/src/components/LoginForm/index.tsx
@@ -30,6 +30,7 @@ function renderFields(props: { loading: boolean }) {
required
fullWidth
margin="dense"
+ autoComplete="username"
/>
);
if (message === NOT_AUTHORISED) {
+ setItem('token', '');
window.location.href = URLS.LOGIN;
}
});