From 8cd48f3af510841bd185ba52be6529f4c0aedda9 Mon Sep 17 00:00:00 2001 From: edde746 <86283021+edde746@users.noreply.github.com> Date: Wed, 4 Mar 2026 10:01:40 +0100 Subject: [PATCH] fix: firstClient null check race --- lib/main.dart | 2 +- lib/screens/auth_screen.dart | 2 +- lib/services/data_aggregation_service.dart | 4 ---- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index bdd91e92..5280f6b6 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -513,7 +513,7 @@ class _SetupScreenState extends State { if (!mounted) return; - if (result.hasConnections) { + if (result.hasConnections && result.firstClient != null) { // Resume any downloads that were interrupted by app kill final downloadProvider = context.read(); downloadProvider.ensureInitialized().then((_) { diff --git a/lib/screens/auth_screen.dart b/lib/screens/auth_screen.dart index 1589fb1f..19cbb69a 100644 --- a/lib/screens/auth_screen.dart +++ b/lib/screens/auth_screen.dart @@ -100,7 +100,7 @@ class _AuthScreenState extends State { clientIdentifier: _authService.clientIdentifier, ); - if (!result.hasConnections) { + if (!result.hasConnections || result.firstClient == null) { if (!mounted) return; setState(() { _isAuthenticating = false; diff --git a/lib/services/data_aggregation_service.dart b/lib/services/data_aggregation_service.dart index 948e98ee..4257588f 100644 --- a/lib/services/data_aggregation_service.dart +++ b/lib/services/data_aggregation_service.dart @@ -150,7 +150,6 @@ class DataAggregationService { return hubs; } catch (e, stackTrace) { appLogger.e('Failed to fetch hubs from server $serverId', error: e, stackTrace: stackTrace); - _serverManager.updateServerStatus(serverId, false); return []; } }); @@ -229,7 +228,6 @@ class DataAggregationService { return serverHubs; } catch (e, stackTrace) { appLogger.e('Failed to fetch hubs from server $serverId', error: e, stackTrace: stackTrace); - _serverManager.updateServerStatus(serverId, false); return []; } }); @@ -278,7 +276,6 @@ class DataAggregationService { return await client.getLibraries(); } catch (e, stackTrace) { appLogger.e('Failed to fetch libraries for server $serverId', error: e, stackTrace: stackTrace); - _serverManager.updateServerStatus(serverId, false); return []; } } @@ -436,7 +433,6 @@ class DataAggregationService { return (serverId, result); } catch (e, stackTrace) { appLogger.e('Failed $operationName from server $serverId', error: e, stackTrace: stackTrace); - _serverManager.updateServerStatus(serverId, false); appLogger.d('$operationName for server $serverId failed after ${sw.elapsedMilliseconds}ms'); return (serverId, []); }