diff --git a/web/apps/photos/src/services/face/indexer.ts b/web/apps/photos/src/services/face/indexer.ts index c6cdc3295a..0f78c20e2e 100644 --- a/web/apps/photos/src/services/face/indexer.ts +++ b/web/apps/photos/src/services/face/indexer.ts @@ -1,3 +1,9 @@ +import { + faceIndex, + indexableFileIDs, + indexedAndIndexableCounts, + syncWithLocalFiles, +} from "@/new/photos/services/face/db"; import { isBetaUser, isInternalUser, @@ -7,12 +13,6 @@ import type { EnteFile } from "@/new/photos/types/file"; import { ComlinkWorker } from "@/next/worker/comlink-worker"; import { ensure } from "@/utils/ensure"; import type { Remote } from "comlink"; -import { - faceIndex, - indexableFileIDs, - indexedAndIndexableCounts, - syncWithLocalFiles, -} from "./db"; import type { FaceIndexerWorker } from "./indexer.worker"; /** diff --git a/web/apps/photos/src/services/face/indexer.worker.ts b/web/apps/photos/src/services/face/indexer.worker.ts index a31db7550d..27608a31c8 100644 --- a/web/apps/photos/src/services/face/indexer.worker.ts +++ b/web/apps/photos/src/services/face/indexer.worker.ts @@ -1,11 +1,11 @@ -import type { EnteFile } from "@/new/photos/types/file"; -import log from "@/next/log"; -import { fileLogID } from "utils/file"; import { closeFaceDBConnectionsIfNeeded, markIndexingFailed, saveFaceIndex, -} from "./db"; +} from "@/new/photos/services/face/db"; +import type { EnteFile } from "@/new/photos/types/file"; +import log from "@/next/log"; +import { fileLogID } from "utils/file"; import { indexFaces } from "./f-index"; import { putFaceIndex } from "./remote"; import type { FaceIndex } from "./types"; diff --git a/web/apps/photos/src/services/logout.ts b/web/apps/photos/src/services/logout.ts index 6d335e83df..1a6c5547e8 100644 --- a/web/apps/photos/src/services/logout.ts +++ b/web/apps/photos/src/services/logout.ts @@ -1,10 +1,10 @@ +import { clearFaceData } from "@/new/photos/services/face/db"; import { clearFeatureFlagSessionState } from "@/new/photos/services/feature-flags"; import log from "@/next/log"; import { accountLogout } from "@ente/accounts/services/logout"; import { clipService } from "services/clip-service"; import DownloadManager from "./download"; import exportService from "./export"; -import { clearFaceData } from "./face/db"; import mlWorkManager from "./face/mlWorkManager"; /** diff --git a/web/packages/new/photos/services/embedding.ts b/web/packages/new/photos/services/embedding.ts index a8c37ade97..38793680ed 100644 --- a/web/packages/new/photos/services/embedding.ts +++ b/web/packages/new/photos/services/embedding.ts @@ -84,7 +84,6 @@ type RemoteEmbedding = z.infer; * with remote (See: [Note: Ignoring embeddings for unknown files]). */ export const syncRemoteFaceEmbeddings = async () => { - let sinceTime = faceEmbeddingSyncTime(); // Include files from trash, otherwise they'll get unnecessarily reindexed // if the user restores them from trash before permanent deletion. const localFiles = (await getAllLocalFiles()).concat( @@ -92,6 +91,9 @@ export const syncRemoteFaceEmbeddings = async () => { ); const localFilesByID = new Map(localFiles.map((f) => [f.id, f])); + // Delete embeddings for files which are no longer present locally. + // pruneFaceEmbeddings(localFilesByID); + const decryptEmbedding = async (remoteEmbedding: RemoteEmbedding) => { const file = localFilesByID.get(remoteEmbedding.fileID); // [Note: Ignoring embeddings for unknown files] @@ -130,6 +132,8 @@ export const syncRemoteFaceEmbeddings = async () => { } }; + let sinceTime = faceEmbeddingSyncTime(); + // TODO: eslint has fixed this spurious warning, but we're not on the latest // version yet, so add a disable. // https://github.com/eslint/eslint/pull/18286 diff --git a/web/apps/photos/src/services/face/db.ts b/web/packages/new/photos/services/face/db.ts similarity index 100% rename from web/apps/photos/src/services/face/db.ts rename to web/packages/new/photos/services/face/db.ts diff --git a/web/apps/photos/src/services/face/types.ts b/web/packages/new/photos/services/face/types.ts similarity index 100% rename from web/apps/photos/src/services/face/types.ts rename to web/packages/new/photos/services/face/types.ts