@@ -115,9 +115,9 @@ export default function SessionProvider(props: SessionProviderProps) {
115
115
const queryClient = reactQuery . useQueryClient ( )
116
116
const toastAndLog = useToastAndLog ( )
117
117
118
- const sessionQuery = createSessionQuery ( authService )
118
+ const sessionQueryOptions = createSessionQuery ( authService )
119
119
120
- const session = reactQuery . useSuspenseQuery ( sessionQuery )
120
+ const session = reactQuery . useSuspenseQuery ( sessionQueryOptions )
121
121
122
122
const refreshUserSessionMutation = reactQuery . useMutation ( {
123
123
mutationKey : [ 'refreshUserSession' , { expireAt : session . data ?. expireAt } ] ,
@@ -126,12 +126,12 @@ export default function SessionProvider(props: SessionProviderProps) {
126
126
if ( data ) {
127
127
httpClient ?. setSessionToken ( data . accessToken )
128
128
}
129
- return queryClient . invalidateQueries ( { queryKey : sessionQuery . queryKey } )
129
+ return queryClient . invalidateQueries ( { queryKey : sessionQueryOptions . queryKey } )
130
130
} ,
131
131
onError : ( error ) => {
132
132
// Something went wrong with the refresh token, so we need to sign the user out.
133
133
toastAndLog ( 'sessionExpiredError' , error )
134
- queryClient . setQueryData ( sessionQuery . queryKey , null )
134
+ queryClient . setQueryData ( sessionQueryOptions . queryKey , null )
135
135
return logoutMutation . mutateAsync ( )
136
136
} ,
137
137
} )
@@ -162,6 +162,7 @@ export default function SessionProvider(props: SessionProviderProps) {
162
162
void queryClient . clearWithPersister ( )
163
163
} ,
164
164
onError : ( ) => toast . error ( getText ( 'signOutError' ) ) ,
165
+ meta : { invalidates : [ sessionQueryOptions . queryKey ] , awaitInvalidates : true } ,
165
166
} )
166
167
167
168
const signUp = useEventCallback (
@@ -209,7 +210,7 @@ export default function SessionProvider(props: SessionProviderProps) {
209
210
}
210
211
211
212
return queryClient
212
- . invalidateQueries ( { queryKey : sessionQuery . queryKey } )
213
+ . invalidateQueries ( { queryKey : sessionQueryOptions . queryKey } )
213
214
. then ( ( ) => ( { challenge, user } ) as const )
214
215
} else {
215
216
throw new Error ( result . val . message )
@@ -282,7 +283,7 @@ export default function SessionProvider(props: SessionProviderProps) {
282
283
switch ( event ) {
283
284
case listen . AuthEvent . signIn :
284
285
case listen . AuthEvent . signOut : {
285
- void queryClient . invalidateQueries ( { queryKey : sessionQuery . queryKey } )
286
+ void queryClient . invalidateQueries ( { queryKey : sessionQueryOptions . queryKey } )
286
287
break
287
288
}
288
289
case listen . AuthEvent . customOAuthState :
@@ -293,15 +294,15 @@ export default function SessionProvider(props: SessionProviderProps) {
293
294
// will not work.
294
295
// See https://github.com/aws-amplify/amplify-js/issues/3391#issuecomment-756473970
295
296
history . replaceState ( { } , '' , mainPageUrl )
296
- void queryClient . invalidateQueries ( { queryKey : sessionQuery . queryKey } )
297
+ void queryClient . invalidateQueries ( { queryKey : sessionQueryOptions . queryKey } )
297
298
break
298
299
}
299
300
default : {
300
301
throw new errorModule . UnreachableCaseError ( event )
301
302
}
302
303
}
303
304
} ) ,
304
- [ registerAuthEventListener , mainPageUrl , queryClient , sessionQuery . queryKey ] ,
305
+ [ registerAuthEventListener , mainPageUrl , queryClient , sessionQueryOptions . queryKey ] ,
305
306
)
306
307
307
308
const organizationId = useEventCallback ( ( ) => authService . organizationId ( ) )
0 commit comments