Clear similar images json cache

This commit is contained in:
laurenspriem
2025-08-29 18:03:27 +05:30
parent ceaedad327
commit 2ad27f1c6e
3 changed files with 19 additions and 0 deletions

View File

@@ -28,6 +28,7 @@ import 'package:photos/services/favorites_service.dart';
import "package:photos/services/home_widget_service.dart";
import 'package:photos/services/ignored_files_service.dart';
import "package:photos/services/machine_learning/face_ml/person/person_service.dart";
import "package:photos/services/machine_learning/similar_images_service.dart";
import 'package:photos/services/search_service.dart';
import 'package:photos/services/sync/sync_service.dart';
import 'package:photos/utils/file_uploader.dart';
@@ -196,6 +197,7 @@ class Configuration {
await CollectionsDB.instance.clearTable();
await MemoriesDB.instance.clearTable();
await MLDataDB.instance.clearTable();
await SimilarImagesService.instance.clearCache();
await UploadLocksDB.instance.clearTable();
await IgnoredFilesService.instance.reset();

View File

@@ -1,3 +1,4 @@
import "dart:io" show File;
import "dart:math" show max;
import "package:flutter/foundation.dart" show kDebugMode;
@@ -450,6 +451,20 @@ class SimilarImagesService {
);
return cache;
}
Future<void> clearCache() async {
try {
final cachePath = await _getCachePath();
final file = File(cachePath);
if (await file.exists()) {
await file.delete();
_logger.info("Cleared similar files cache at $cachePath");
}
} catch (e, s) {
_logger.severe("Error clearing similar files cache", e, s);
rethrow;
}
}
}
bool setsAreEqual(Set<String> set1, Set<String> set2) {

View File

@@ -22,6 +22,7 @@ import "package:photos/services/machine_learning/face_ml/person/person_service.d
import "package:photos/services/machine_learning/ml_indexing_isolate.dart";
import 'package:photos/services/machine_learning/ml_service.dart';
import "package:photos/services/machine_learning/semantic_search/semantic_search_service.dart";
import "package:photos/services/machine_learning/similar_images_service.dart";
import "package:photos/services/notification_service.dart";
import "package:photos/services/search_service.dart";
import "package:photos/src/rust/api/simple.dart";
@@ -94,6 +95,7 @@ class _MLDebugSectionWidgetState extends State<MLDebugSectionWidget> {
onTap: () async {
try {
await ClipVectorDB.instance.deleteIndexFile(undoMigration: true);
await SimilarImagesService.instance.clearCache();
showShortToast(context, 'Deleted vectorDB index');
} catch (e, s) {
logger.severe('vectorDB index delete failed ', e, s);