From 3a2cc86136e067b10ab6948d5cc8f952a6ca684c Mon Sep 17 00:00:00 2001 From: Manav Rathi Date: Sat, 11 May 2024 08:31:17 +0530 Subject: [PATCH] Channel --- web/apps/photos/src/services/download/index.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/web/apps/photos/src/services/download/index.ts b/web/apps/photos/src/services/download/index.ts index 7b0171da11..308720a46e 100644 --- a/web/apps/photos/src/services/download/index.ts +++ b/web/apps/photos/src/services/download/index.ts @@ -31,6 +31,12 @@ export type SourceURLs = { isOriginal: boolean; isRenderable: boolean; type: "normal" | "livePhoto"; + /** + * Best effort attempt at obtaining the MIME type. This should always be set + * ideally, over time we need to find and fix the types for the cases where + * it can be missing. + */ + mimeType?: string; }; export type OnDownloadProgress = (event: { @@ -476,6 +482,7 @@ async function getRenderableFileURL( forceConvert: boolean, ): Promise { let srcURLs: SourceURLs["url"]; + let mimeType: string | undefined; switch (file.metadata.fileType) { case FILE_TYPE.IMAGE: { const convertedBlob = await getRenderableImage( @@ -488,6 +495,7 @@ async function getRenderableFileURL( convertedBlob, ); srcURLs = convertedURL; + mimeType = convertedBlob.type; break; } case FILE_TYPE.LIVE_PHOTO: { @@ -534,6 +542,7 @@ async function getRenderableFileURL( file.metadata.fileType === FILE_TYPE.LIVE_PHOTO ? "livePhoto" : "normal", + mimeType, }; }