diff --git a/lib/main.dart b/lib/main.dart index 96e0b1f..2b616df 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -335,9 +335,17 @@ class _MainState extends State
{ previous.status != current.status, listener: (context, accountState) { // Fresh login (loggedOut -> loggedIn): pull capability flags - // for the newly authenticated user. + // for the newly authenticated user, then register push right + // away instead of deferring it to the next app start. if (accountState.status == AccountStatus.loggedIn) { - unawaited(context.read().load()); + final settingsCubit = context.read(); + final capabilitiesCubit = context.read(); + unawaited( + capabilitiesCubit.load().then((_) { + if (!mounted) return; + _syncPush(settingsCubit, capabilitiesCubit); + }), + ); unawaited( context.read().load(), );