@@ -115,9 +115,9 @@ export default function SessionProvider(props: SessionProviderProps) {
115115 const queryClient = reactQuery . useQueryClient ( )
116116 const toastAndLog = useToastAndLog ( )
117117
118- const sessionQuery = createSessionQuery ( authService )
118+ const sessionQueryOptions = createSessionQuery ( authService )
119119
120- const session = reactQuery . useSuspenseQuery ( sessionQuery )
120+ const session = reactQuery . useSuspenseQuery ( sessionQueryOptions )
121121
122122 const refreshUserSessionMutation = reactQuery . useMutation ( {
123123 mutationKey : [ 'refreshUserSession' , { expireAt : session . data ?. expireAt } ] ,
@@ -126,12 +126,12 @@ export default function SessionProvider(props: SessionProviderProps) {
126126 if ( data ) {
127127 httpClient ?. setSessionToken ( data . accessToken )
128128 }
129- return queryClient . invalidateQueries ( { queryKey : sessionQuery . queryKey } )
129+ return queryClient . invalidateQueries ( { queryKey : sessionQueryOptions . queryKey } )
130130 } ,
131131 onError : ( error ) => {
132132 // Something went wrong with the refresh token, so we need to sign the user out.
133133 toastAndLog ( 'sessionExpiredError' , error )
134- queryClient . setQueryData ( sessionQuery . queryKey , null )
134+ queryClient . setQueryData ( sessionQueryOptions . queryKey , null )
135135 return logoutMutation . mutateAsync ( )
136136 } ,
137137 } )
@@ -162,6 +162,7 @@ export default function SessionProvider(props: SessionProviderProps) {
162162 void queryClient . clearWithPersister ( )
163163 } ,
164164 onError : ( ) => toast . error ( getText ( 'signOutError' ) ) ,
165+ meta : { invalidates : [ sessionQueryOptions . queryKey ] , awaitInvalidates : true } ,
165166 } )
166167
167168 const signUp = useEventCallback (
@@ -209,7 +210,7 @@ export default function SessionProvider(props: SessionProviderProps) {
209210 }
210211
211212 return queryClient
212- . invalidateQueries ( { queryKey : sessionQuery . queryKey } )
213+ . invalidateQueries ( { queryKey : sessionQueryOptions . queryKey } )
213214 . then ( ( ) => ( { challenge, user } ) as const )
214215 } else {
215216 throw new Error ( result . val . message )
@@ -282,7 +283,7 @@ export default function SessionProvider(props: SessionProviderProps) {
282283 switch ( event ) {
283284 case listen . AuthEvent . signIn :
284285 case listen . AuthEvent . signOut : {
285- void queryClient . invalidateQueries ( { queryKey : sessionQuery . queryKey } )
286+ void queryClient . invalidateQueries ( { queryKey : sessionQueryOptions . queryKey } )
286287 break
287288 }
288289 case listen . AuthEvent . customOAuthState :
@@ -293,15 +294,15 @@ export default function SessionProvider(props: SessionProviderProps) {
293294 // will not work.
294295 // See https://github.com/aws-amplify/amplify-js/issues/3391#issuecomment-756473970
295296 history . replaceState ( { } , '' , mainPageUrl )
296- void queryClient . invalidateQueries ( { queryKey : sessionQuery . queryKey } )
297+ void queryClient . invalidateQueries ( { queryKey : sessionQueryOptions . queryKey } )
297298 break
298299 }
299300 default : {
300301 throw new errorModule . UnreachableCaseError ( event )
301302 }
302303 }
303304 } ) ,
304- [ registerAuthEventListener , mainPageUrl , queryClient , sessionQuery . queryKey ] ,
305+ [ registerAuthEventListener , mainPageUrl , queryClient , sessionQueryOptions . queryKey ] ,
305306 )
306307
307308 const organizationId = useEventCallback ( ( ) => authService . organizationId ( ) )
0 commit comments