Watch
1
0
Fork
You've already forked nexus
0
forked from Nexus/nexus

Allow swapping UnifiedPush distributor

Fixes #120
This commit is contained in:
Henry Hiles 2026-10-14 16:41:01 -04:00
commit 3a33bf7bfe
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs
5 changed files with 86 additions and 29 deletions

View file

@ -2,16 +2,16 @@ import "dart:io";
import "package:flutter_riverpod/flutter_riverpod.dart";
import "package:nexus/controllers/client.dart";
import "package:unifiedpush/unifiedpush.dart";
import "package:nexus/controllers/unified_push_distributors.dart";
class UnifiedPushAllowedController extends AsyncNotifier<String?> {
@override
Future<String?> build() async {
if (!await UnifiedPush.tryUseCurrentOrDefaultDistributor().timeout(
.new(seconds: 10),
onTimeout: () =>
throw Exception("UnifiedPush distributor check timed out."),
)) {
final distributors = await ref.watch(
UnifiedPushDistributorsController.provider.future,
);
if (distributors.isEmpty) {
return "No valid distributors found. ${Platform.isLinux
? "Try installing KUnifiedPush"
: Platform.isAndroid