From 6ddef3a7e4fe5ee8c9dbb80f2b427db51c6279b0 Mon Sep 17 00:00:00 2001 From: shenlong <139912620+shenlong-tanwen@users.noreply.github.com> Date: Wed, 6 Aug 2025 18:31:16 +0530 Subject: [PATCH] fix: server version not fetched after auto login (#20713) * fix: server version not fetched after auto login * wrap get info with a try catch --------- Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> --- .../lib/pages/common/splash_screen.page.dart | 31 ++++++++++++------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/mobile/lib/pages/common/splash_screen.page.dart b/mobile/lib/pages/common/splash_screen.page.dart index 2bda4f90f9..159a5b4fee 100644 --- a/mobile/lib/pages/common/splash_screen.page.dart +++ b/mobile/lib/pages/common/splash_screen.page.dart @@ -6,6 +6,8 @@ import 'package:immich_mobile/entities/store.entity.dart'; import 'package:immich_mobile/providers/auth.provider.dart'; import 'package:immich_mobile/providers/backup/backup.provider.dart'; import 'package:immich_mobile/providers/gallery_permission.provider.dart'; +import 'package:immich_mobile/providers/server_info.provider.dart'; +import 'package:immich_mobile/providers/websocket.provider.dart'; import 'package:immich_mobile/routing/router.dart'; import 'package:logging/logging.dart'; @@ -43,17 +45,24 @@ class SplashScreenPageState extends ConsumerState { final accessToken = Store.tryGet(StoreKey.accessToken); if (accessToken != null && serverUrl != null && endpoint != null) { - ref - .read(authProvider.notifier) - .saveAuthInfo(accessToken: accessToken) - .then( - (a) => {log.info('Successfully updated auth info with access token: $accessToken')}, - onError: (exception) => { - log.severe('Failed to update auth info with access token: $accessToken'), - ref.read(authProvider.notifier).logout(), - context.replaceRoute(const LoginRoute()), - }, - ); + final infoProvider = ref.read(serverInfoProvider.notifier); + final wsProvider = ref.read(websocketProvider.notifier); + ref.read(authProvider.notifier).saveAuthInfo(accessToken: accessToken).then( + (a) { + log.info('Successfully updated auth info with access token: $accessToken'); + try { + wsProvider.connect(); + infoProvider.getServerInfo(); + } catch (e) { + log.severe('Failed establishing connection to the server: $e'); + } + }, + onError: (exception) => { + log.severe('Failed to update auth info with access token: $accessToken'), + ref.read(authProvider.notifier).logout(), + context.replaceRoute(const LoginRoute()), + }, + ); } else { log.severe('Missing crucial offline login info - Logging out completely'); ref.read(authProvider.notifier).logout();