fix: firstClient null check race

This commit is contained in:
edde746
2026-03-04 10:01:40 +01:00
parent 13b5d7bae8
commit 8cd48f3af5
3 changed files with 2 additions and 6 deletions
+1 -1
View File
@@ -513,7 +513,7 @@ class _SetupScreenState extends State<SetupScreen> {
if (!mounted) return; if (!mounted) return;
if (result.hasConnections) { if (result.hasConnections && result.firstClient != null) {
// Resume any downloads that were interrupted by app kill // Resume any downloads that were interrupted by app kill
final downloadProvider = context.read<DownloadProvider>(); final downloadProvider = context.read<DownloadProvider>();
downloadProvider.ensureInitialized().then((_) { downloadProvider.ensureInitialized().then((_) {
+1 -1
View File
@@ -100,7 +100,7 @@ class _AuthScreenState extends State<AuthScreen> {
clientIdentifier: _authService.clientIdentifier, clientIdentifier: _authService.clientIdentifier,
); );
if (!result.hasConnections) { if (!result.hasConnections || result.firstClient == null) {
if (!mounted) return; if (!mounted) return;
setState(() { setState(() {
_isAuthenticating = false; _isAuthenticating = false;
@@ -150,7 +150,6 @@ class DataAggregationService {
return hubs; return hubs;
} catch (e, stackTrace) { } catch (e, stackTrace) {
appLogger.e('Failed to fetch hubs from server $serverId', error: e, stackTrace: stackTrace); appLogger.e('Failed to fetch hubs from server $serverId', error: e, stackTrace: stackTrace);
_serverManager.updateServerStatus(serverId, false);
return <PlexHub>[]; return <PlexHub>[];
} }
}); });
@@ -229,7 +228,6 @@ class DataAggregationService {
return serverHubs; return serverHubs;
} catch (e, stackTrace) { } catch (e, stackTrace) {
appLogger.e('Failed to fetch hubs from server $serverId', error: e, stackTrace: stackTrace); appLogger.e('Failed to fetch hubs from server $serverId', error: e, stackTrace: stackTrace);
_serverManager.updateServerStatus(serverId, false);
return <PlexHub>[]; return <PlexHub>[];
} }
}); });
@@ -278,7 +276,6 @@ class DataAggregationService {
return await client.getLibraries(); return await client.getLibraries();
} catch (e, stackTrace) { } catch (e, stackTrace) {
appLogger.e('Failed to fetch libraries for server $serverId', error: e, stackTrace: stackTrace); appLogger.e('Failed to fetch libraries for server $serverId', error: e, stackTrace: stackTrace);
_serverManager.updateServerStatus(serverId, false);
return []; return [];
} }
} }
@@ -436,7 +433,6 @@ class DataAggregationService {
return (serverId, result); return (serverId, result);
} catch (e, stackTrace) { } catch (e, stackTrace) {
appLogger.e('Failed $operationName from server $serverId', error: e, stackTrace: 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'); appLogger.d('$operationName for server $serverId failed after ${sw.elapsedMilliseconds}ms');
return (serverId, <T>[]); return (serverId, <T>[]);
} }