From 84b51e3cbb32add00f92c0d9e3e88aa4a8a39823 Mon Sep 17 00:00:00 2001
From: Eli Gao <refraction222@gmail.com>
Date: Thu, 1 May 2025 04:33:18 +0800
Subject: [PATCH] fix(server): double rotation on HEIF files (#18002)

* fix(server): double rotation on HEIF/HEIC files

* Update server/src/services/media.service.ts

* formatting

---------

Co-authored-by: Mert <101130780+mertalev@users.noreply.github.com>
---
 server/src/services/media.service.ts | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/server/src/services/media.service.ts b/server/src/services/media.service.ts
index 35d28a175b..546dcc930b 100644
--- a/server/src/services/media.service.ts
+++ b/server/src/services/media.service.ts
@@ -266,7 +266,9 @@ export class MediaService extends BaseService {
 
     const { info, data, colorspace } = await this.decodeImage(
       extracted ? extracted.buffer : asset.originalPath,
-      asset.exifInfo,
+      // only specify orientation to extracted images which don't have EXIF orientation data
+      // or it can double rotate the image
+      extracted ? asset.exifInfo : { ...asset.exifInfo, orientation: null },
       convertFullsize ? undefined : image.preview.size,
     );