diff --git a/mobile/lib/utils/ml_util.dart b/mobile/lib/utils/ml_util.dart index d50555d38a..ddb885136b 100644 --- a/mobile/lib/utils/ml_util.dart +++ b/mobile/lib/utils/ml_util.dart @@ -73,6 +73,7 @@ Future> getFilesForMlIndexing() async { await MLDataDB.instance.getIndexedFileIds(); final Map clipIndexedFileIDs = await MLDataDB.instance.clipIndexedFileWithVersion(); + final Set queuedFiledIDs = {}; // Get all regular files and all hidden files final enteFiles = await SearchService.instance.getAllFiles(); @@ -86,6 +87,11 @@ Future> getFilesForMlIndexing() async { if (_skipAnalysisEnteFile(enteFile)) { continue; } + if (queuedFiledIDs.contains(enteFile.uploadedFileID)) { + continue; + } + queuedFiledIDs.add(enteFile.uploadedFileID!); + final shouldRunFaces = _shouldRunIndexing(enteFile, faceIndexedFileIDs, faceMlVersion); final shouldRunClip = @@ -108,6 +114,10 @@ Future> getFilesForMlIndexing() async { if (_skipAnalysisEnteFile(enteFile)) { continue; } + if (queuedFiledIDs.contains(enteFile.uploadedFileID)) { + continue; + } + queuedFiledIDs.add(enteFile.uploadedFileID!); final shouldRunFaces = _shouldRunIndexing(enteFile, faceIndexedFileIDs, faceMlVersion); final shouldRunClip =