@@ -349,32 +349,32 @@ class SupabaseClient {
349
349
void _listenForAuthEvents () {
350
350
// ignore: invalid_use_of_internal_member
351
351
_authStateSubscription = auth.onAuthStateChangeSync.listen (
352
- (data) {
353
- try {
354
- _handleTokenChanged (data.event, data.session? .accessToken);
355
- } on FormatException catch (e) {
356
- if (e.message.contains ('InvalidJWTToken' )) {
357
- // The exception is thrown by RealtimeClient when the token is
358
- // expired for example on app launch after the app has been closed
359
- // for a while.
360
- } else {
361
- rethrow ;
362
- }
363
- }
352
+ (data) async {
353
+ await _handleTokenChanged (data.event, data.session? .accessToken);
364
354
},
365
355
onError: (error, stack) {},
366
356
);
367
357
}
368
358
369
- void _handleTokenChanged (AuthChangeEvent event, String ? token) {
359
+ Future < void > _handleTokenChanged (AuthChangeEvent event, String ? token) async {
370
360
if (event == AuthChangeEvent .initialSession ||
371
361
event == AuthChangeEvent .tokenRefreshed ||
372
362
event == AuthChangeEvent .signedIn) {
373
- realtime.setAuth (token);
363
+ try {
364
+ await realtime.setAuth (token);
365
+ } on FormatException catch (e) {
366
+ if (e.message.contains ('InvalidJWTToken' )) {
367
+ // The exception is thrown by RealtimeClient when the token is
368
+ // expired for example on app launch after the app has been closed
369
+ // for a while.
370
+ } else {
371
+ rethrow ;
372
+ }
373
+ }
374
374
} else if (event == AuthChangeEvent .signedOut) {
375
375
// Token is removed
376
376
377
- realtime.setAuth (_supabaseKey);
377
+ await realtime.setAuth (_supabaseKey);
378
378
}
379
379
}
380
380
}
0 commit comments