fix: cleanup logger DB in isolates (#20730)

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
This commit is contained in:
shenlong
2025-08-07 03:27:17 +05:30
committed by GitHub
parent 68b617130a
commit 9c8c52874a
6 changed files with 25 additions and 28 deletions

View File

@@ -5,6 +5,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/domain/services/log.service.dart';
import 'package:immich_mobile/infrastructure/repositories/logger_db.repository.dart';
import 'package:immich_mobile/providers/db.provider.dart';
import 'package:immich_mobile/providers/infrastructure/cancel.provider.dart';
import 'package:immich_mobile/providers/infrastructure/db.provider.dart';
@@ -35,7 +36,8 @@ Cancelable<T?> runInIsolateGentle<T>({
DartPluginRegistrant.ensureInitialized();
final db = await Bootstrap.initIsar();
await Bootstrap.initDomain(db, shouldBufferLogs: false);
final logDb = DriftLogger();
await Bootstrap.initDomain(db, logDb, shouldBufferLogs: false);
final ref = ProviderContainer(
overrides: [
// TODO: Remove once isar is removed
@@ -57,6 +59,7 @@ Cancelable<T?> runInIsolateGentle<T>({
} finally {
try {
await LogService.I.flush();
await logDb.close();
await ref.read(driftProvider).close();
// Close Isar safely