Skip to content

Commit f664a70

Browse files
add timeout to the splash-screen acquire lock
1 parent 499e181 commit f664a70

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

mobile/lib/domain/services/background_worker.service.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import 'package:immich_mobile/providers/backup/drift_backup.provider.dart';
1515
import 'package:immich_mobile/providers/db.provider.dart';
1616
import 'package:immich_mobile/providers/infrastructure/db.provider.dart';
1717
import 'package:immich_mobile/providers/user.provider.dart';
18+
import 'package:immich_mobile/repositories/file_media.repository.dart';
1819
import 'package:immich_mobile/services/app_settings.service.dart';
1920
import 'package:immich_mobile/services/auth.service.dart';
2021
import 'package:immich_mobile/services/localization.service.dart';
@@ -23,7 +24,6 @@ import 'package:immich_mobile/utils/bootstrap.dart';
2324
import 'package:immich_mobile/utils/http_ssl_options.dart';
2425
import 'package:isar/isar.dart';
2526
import 'package:logging/logging.dart';
26-
import 'package:worker_manager/worker_manager.dart';
2727

2828
class BackgroundWorkerFgService {
2929
final BackgroundWorkerFgHostApi _foregroundHostApi;
@@ -85,6 +85,7 @@ class BackgroundWorkerBgService extends BackgroundWorkerFlutterApi {
8585
await FileDownloader().trackTasksInGroup(kDownloadGroupLivePhoto, markDownloadedComplete: false);
8686
await FileDownloader().trackTasks();
8787
configureFileDownloaderNotifications();
88+
await _ref.read(fileMediaRepositoryProvider).enableBackgroundAccess();
8889

8990
// Notify the host that the background upload service has been initialized and is ready to use
9091
debugPrint("Acquiring background worker lock");
@@ -277,7 +278,6 @@ Future<void> backgroundSyncNativeEntrypoint() async {
277278
WidgetsFlutterBinding.ensureInitialized();
278279
DartPluginRegistrant.ensureInitialized();
279280

280-
workerManager.init(dynamicSpawning: true);
281281
final (isar, drift, logDB) = await Bootstrap.initDB();
282282
await Bootstrap.initDomain(isar, drift, logDB, shouldBufferLogs: false);
283283
await BackgroundWorkerBgService(isar: isar, drift: drift, driftLogger: logDB).init();

mobile/lib/pages/common/splash_screen.page.dart

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,16 @@ class SplashScreenPageState extends ConsumerState<SplashScreenPage> {
3030
final lockManager = ref.read(isolateLockManagerProvider(kIsolateLockManagerPort));
3131

3232
lockManager.requestHolderToClose();
33-
lockManager.acquireLock().whenComplete(
34-
() => ref
35-
.read(authProvider.notifier)
36-
.setOpenApiServiceEndpoint()
37-
.then(logConnectionInfo)
38-
.whenComplete(() => resumeSession()),
39-
);
33+
lockManager
34+
.acquireLock()
35+
.timeout(const Duration(seconds: 5))
36+
.whenComplete(
37+
() => ref
38+
.read(authProvider.notifier)
39+
.setOpenApiServiceEndpoint()
40+
.then(logConnectionInfo)
41+
.whenComplete(() => resumeSession()),
42+
);
4043
}
4144

4245
void logConnectionInfo(String? endpoint) {

0 commit comments

Comments
 (0)