don't require login for UP controller to finish init
This commit is contained in:
parent
f4142859ba
commit
f910d87a23
2 changed files with 47 additions and 56 deletions
|
|
@ -119,11 +119,8 @@ class UnifiedPushController extends AsyncNotifier<bool> {
|
|||
Future<void> register([bool alreadyRegistered = false]) async {
|
||||
state = .loading();
|
||||
try {
|
||||
final clientStateProvider = ClientStateController.provider;
|
||||
while (ref.read(clientStateProvider)?.deviceId == null) {
|
||||
await Future.delayed(.new(milliseconds: 250));
|
||||
}
|
||||
final clientState = ref.read(clientStateProvider);
|
||||
final clientState = ref.watch(ClientStateController.provider);
|
||||
if (clientState?.deviceId == null) return;
|
||||
|
||||
final capabilities = await ref
|
||||
.read(ClientController.provider.notifier)
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import "package:nexus/controllers/multi_provider.dart";
|
|||
import "package:nexus/controllers/notification.dart";
|
||||
import "package:nexus/controllers/settings.dart";
|
||||
import "package:nexus/controllers/unified_push.dart";
|
||||
import "package:nexus/helpers/extensions/better_when.dart";
|
||||
import "package:nexus/helpers/extensions/scheme_to_theme.dart";
|
||||
import "package:nexus/helpers/font_licenses.dart";
|
||||
import "package:nexus/pages/chat.dart";
|
||||
|
|
@ -150,12 +149,10 @@ class const App({super.key}) extends StatelessWidget {
|
|||
),
|
||||
child: Scaffold(
|
||||
body: Consumer(
|
||||
builder: (_, ref, _) => ref
|
||||
.watch(ClientController.provider)
|
||||
.betterWhen(
|
||||
data: (_) => switch (ref.watch(
|
||||
builder: (_, ref, _) => switch (ref.watch(
|
||||
MultiProviderController.provider(
|
||||
.new([
|
||||
ClientController.provider,
|
||||
NotificationController.provider,
|
||||
UnifiedPushController.provider,
|
||||
MemberListOpenedController.provider,
|
||||
|
|
@ -166,9 +163,7 @@ class const App({super.key}) extends StatelessWidget {
|
|||
)) {
|
||||
AsyncData(value: _) || AsyncLoading(value: _?) => Consumer(
|
||||
builder: (_, ref, _) {
|
||||
final clientState = ref.watch(
|
||||
ClientStateController.provider,
|
||||
);
|
||||
final clientState = ref.watch(ClientStateController.provider);
|
||||
|
||||
if (clientState == null || !clientState.isInitialized) {
|
||||
return Loading();
|
||||
|
|
@ -206,6 +201,5 @@ class const App({super.key}) extends StatelessWidget {
|
|||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue