diff --git a/docs/docs/features/supported-formats.md b/docs/docs/features/supported-formats.md index 86ac264cc3..917950dd2a 100644 --- a/docs/docs/features/supported-formats.md +++ b/docs/docs/features/supported-formats.md @@ -18,6 +18,7 @@ For the full list, refer to the [Immich source code](https://github.com/immich-a | `JPEG 2000` | `.jp2` | :white_check_mark: | | | `JPEG` | `.jpeg` `.jpg` `.jpe` `.insp` | :white_check_mark: | | | `JPEG XL` | `.jxl` | :white_check_mark: | | +| `MPO` | `.mpo` | :white_check_mark: | Multi-Picture | | `PNG` | `.png` | :white_check_mark: | | | `PSD` | `.psd` | :white_check_mark: | Adobe Photoshop | | `RAW` | `.raw` | :white_check_mark: | | diff --git a/e2e/src/ui/mock-network/base-network.ts b/e2e/src/ui/mock-network/base-network.ts index 7c4aee59e3..3dc3580396 100644 --- a/e2e/src/ui/mock-network/base-network.ts +++ b/e2e/src/ui/mock-network/base-network.ts @@ -223,6 +223,7 @@ export const setupBaseMockApiRoutes = async (context: BrowserContext, adminUserI '.jp2', '.jpe', '.jxl', + '.mpo', '.svg', '.tif', '.tiff', diff --git a/server/src/queries/asset.job.repository.sql b/server/src/queries/asset.job.repository.sql index bd903f3952..746ef6bfee 100644 --- a/server/src/queries/asset.job.repository.sql +++ b/server/src/queries/asset.job.repository.sql @@ -163,6 +163,7 @@ where '%.jp2', '%.jpe', '%.jxl', + '%.mpo', '%.svg', '%.tif', '%.tiff' diff --git a/server/src/services/asset-media.service.spec.ts b/server/src/services/asset-media.service.spec.ts index 6571a5ac22..cb3cc4d62a 100644 --- a/server/src/services/asset-media.service.spec.ts +++ b/server/src/services/asset-media.service.spec.ts @@ -80,6 +80,7 @@ const validImages = [ '.jxl', '.k25', '.kdc', + '.mpo', '.mrw', '.nef', '.orf', diff --git a/server/src/utils/mime-types.spec.ts b/server/src/utils/mime-types.spec.ts index 8c20bad0aa..fd670da773 100644 --- a/server/src/utils/mime-types.spec.ts +++ b/server/src/utils/mime-types.spec.ts @@ -26,6 +26,7 @@ describe('mimeTypes', () => { { mimetype: 'image/jpeg', extension: '.jpe' }, { mimetype: 'image/jpeg', extension: '.jpeg' }, { mimetype: 'image/jpeg', extension: '.jpg' }, + { mimetype: 'image/jpeg', extension: '.mpo' }, { mimetype: 'image/jxl', extension: '.jxl' }, { mimetype: 'image/k25', extension: '.k25' }, { mimetype: 'image/kdc', extension: '.kdc' }, diff --git a/server/src/utils/mime-types.ts b/server/src/utils/mime-types.ts index 5089fc36d6..be98edb9f0 100644 --- a/server/src/utils/mime-types.ts +++ b/server/src/utils/mime-types.ts @@ -58,6 +58,7 @@ const webUnsupportedImage = { '.jp2': ['image/jp2'], '.jpe': ['image/jpeg'], '.jxl': ['image/jxl'], + '.mpo': ['image/jpeg'], '.svg': ['image/svg'], '.tif': ['image/tiff'], '.tiff': ['image/tiff'],