immich/server
mrcksz 0da258a418 fix(server): don't trust file extension for HEIF orientation handling
Files can carry a .heic/.heif/.avif extension without actually being
encoded as such - e.g. when a tool converts HEIC to JPEG in place but
keeps the original filename/extension. Since the HEIF-vs-classic-EXIF
orientation branch in getExifTags() was keyed purely off
mimeTypes.isHeifImage(asset.originalPath) (extension only), such files
had their perfectly valid EXIF Orientation tag silently discarded
(because no QuickTime Rotation/irot atom exists in a real JPEG), which
in turn left width/height unswapped for sideways images and produced a
squished/stretched thumbnail.

Now the branch is only taken when ExifTool's own content-detected
FileTypeExtension also identifies the file as HEIF-family, reusing the
existing mimeTypes.isHeifImage() extension set instead of hardcoding a
new one.

Fixes #29766
2026-07-30 05:04:06 +00:00
..
bin fix(server): memory fragmentation (#27027) 2026-03-26 18:21:52 +01:00
src fix(server): don't trust file extension for HEIF orientation handling 2026-07-30 05:04:06 +00:00
test fix: minor typos (#30385) 2026-07-30 00:05:11 +02:00
.gitignore
.npmignore chore: use pnpm for builds (#19752) 2025-08-19 08:55:24 -04:00
.prettierignore
.prettierrc
Dockerfile chore(deps): update ghcr.io/jdx/mise docker tag to v2026.7.15 (#30301) 2026-07-28 11:36:43 +02:00
Dockerfile.dev chore(deps): update ghcr.io/jdx/mise docker tag to v2026.7.15 (#30301) 2026-07-28 11:36:43 +02:00
eslint.config.mjs chore(deps): update dependency eslint-plugin-unicorn to v72 (#30092) 2026-07-21 15:33:46 +02:00
helmet.json fix(server): updated default CSP config to support videos from V3 player (#29830) 2026-07-15 12:49:18 +02:00
mise.toml refactor: plugin sdk types (#28674) 2026-05-28 22:04:15 +00:00
nest-cli.json fix: isolate docker host/container filesystem for node_modules and build output (#21167) 2025-08-24 13:09:45 -05:00
package.json chore: version v3.1.0 2026-07-27 18:20:33 +00:00
tsconfig.build.json chore: move .tsbuildinfo file to dist folder (#27682) 2026-04-10 16:02:25 +02:00
tsconfig.json chore(deps): update dependency eslint-plugin-unicorn to v70 - abandoned (#29684) 2026-07-20 23:47:14 -04:00