From 514cdf690ba24a47fbbfe6cf88c0ae625bdaa1ea Mon Sep 17 00:00:00 2001 From: Abhinav Date: Fri, 17 Nov 2023 16:59:54 +0530 Subject: [PATCH] check full file name before checking clipped one --- apps/photos/src/services/upload/fileService.ts | 11 ++++++++--- apps/photos/src/services/upload/metadataService.ts | 9 ++++++++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/apps/photos/src/services/upload/fileService.ts b/apps/photos/src/services/upload/fileService.ts index 7a3ba16ab..675d80879 100644 --- a/apps/photos/src/services/upload/fileService.ts +++ b/apps/photos/src/services/upload/fileService.ts @@ -17,7 +17,8 @@ import { getFileNameSize } from '@ente/shared/logging/web'; import { encryptFiledata } from './encryptionService'; import { extractMetadata, - getMetadataJSONMapKeyForFile, + getClippedMetadataJSONMapKeyForFile, + getFullMetadataJSONMapKeyForFile, } from './metadataService'; import { getFileStream, @@ -83,8 +84,12 @@ export async function extractFileMetadata( const originalName = getFileOriginalName(rawFile); const googleMetadata = parsedMetadataJSONMap.get( - getMetadataJSONMapKeyForFile(collectionID, originalName) - ) ?? {}; + getFullMetadataJSONMapKeyForFile(collectionID, originalName) + ) ?? + parsedMetadataJSONMap.get( + getClippedMetadataJSONMapKeyForFile(collectionID, originalName) + ) ?? + {}; const { metadata, publicMagicMetadata } = await extractMetadata( worker, diff --git a/apps/photos/src/services/upload/metadataService.ts b/apps/photos/src/services/upload/metadataService.ts index 24698195f..040d48c90 100644 --- a/apps/photos/src/services/upload/metadataService.ts +++ b/apps/photos/src/services/upload/metadataService.ts @@ -119,13 +119,20 @@ export const getMetadataJSONMapKeyForJSON = ( return `${collectionID}-${title}`; }; -export const getMetadataJSONMapKeyForFile = ( +export const getClippedMetadataJSONMapKeyForFile = ( collectionID: number, fileName: string ) => { return `${collectionID}-${fileName.slice(0, 46)}`; }; +export const getFullMetadataJSONMapKeyForFile = ( + collectionID: number, + fileName: string +) => { + return `${collectionID}-${fileName}`; +}; + export async function parseMetadataJSON(receivedFile: File | ElectronFile) { try { if (!(receivedFile instanceof File)) {