Skip to content

Conversation

ruippeixotog
Copy link

Description

Re-submission of #18403, which fixes EXIF parsing for GPS tags.

The solution for the issue requires updating exiftool-vendored and enabling the geolocation option. However, exiftool v13.22 seems to have introduced some issues with UTF-16LE file parsing (exiftool/exiftool#348), which is causing some e2e test assets to not work anymore.

Given upgrading exiftool could break Immich support for existing library files, I'm implementing fallback logic in metadata.repository.spec to convert XMP files to UTF-8 if needed. I'm not sure if this is the best way to go, other suggestions are appreciated.

Fixes #13053.

How Has This Been Tested?

e2e/src/api/specs/library.e2e-spec.ts uses UTF-16LE test assets and shows that those XMP files continue to be supported.

Followed the test plan in #18403 and confirmed the geolocation fix still worked. I can also upload test assets with affected geo tags and put them in an e2e test if needed.

Checklist:

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation if applicable
  • I have no unrelated changes in the PR.
  • I have confirmed that any new dependencies are strictly necessary.
  • I have written tests for new code (if applicable)
  • I have followed naming conventions/patterns in the surrounding code
  • All code in src/services/ uses repositories implementations for database calls, filesystem operations, etc.
  • All code in src/repositories/ is pretty basic/simple and does not have any immich specific logic (that belongs in src/services/)

Copy link
Contributor

github-actions bot commented Aug 30, 2025

Label error. Requires exactly 1 of: changelog:.*. Found: 🗄️server. A maintainer will add the required label.

@ruippeixotog ruippeixotog changed the title fix: use GPSLongitudeRef and GPSLatitudeRef EXIF fields fix(server): use GPSLongitudeRef and GPSLatitudeRef EXIF fields Sep 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

GPS geo location wrong: GPSLongitudeRef and GPSLatitudeRef not taken into account
1 participant