fix: isar crash on resume from app detach (#16599)

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
This commit is contained in:
shenlong 2025-03-05 19:58:40 +05:30 committed by GitHub
parent 2da9e3152b
commit 3f4bbab4eb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 14 additions and 4 deletions

View file

@ -17,6 +17,7 @@ import 'package:immich_mobile/providers/server_info.provider.dart';
import 'package:immich_mobile/providers/tab.provider.dart';
import 'package:immich_mobile/providers/websocket.provider.dart';
import 'package:immich_mobile/services/background.service.dart';
import 'package:isar/isar.dart';
import 'package:permission_handler/permission_handler.dart';
enum AppLifeCycleEnum {
@ -114,11 +115,13 @@ class AppLifeCycleNotifier extends StateNotifier<AppLifeCycleEnum> {
_ref.read(websocketProvider.notifier).disconnect();
}
unawaited(LogService.I.flush());
LogService.I.flush();
}
void handleAppDetached() {
Future<void> handleAppDetached() async {
state = AppLifeCycleEnum.detached;
LogService.I.flush();
await Isar.getInstance()?.close();
// no guarantee this is called at all
_ref.read(manualUploadProvider.notifier).cancelBackup();
}