* Clarify the "asset not found" log during thumbnail generation: it's about database
* Move not found sidecars to verbose level instead of "old=null, new=null" at debug
* Log memory creation at default level
* Add explicit log for missing exif date time
Instead of: Date and time is undefined using exifTag undefined for asset ...
* Log database migration start/end at default level
Currently, these messages are logged as "debug". But they are not printed
when debug or verbose level is set. This is due to the known limitation:
SystemConfigService sets LogLevel later on, after migrations run.
* fix_Exlif_Metadata_Rating_Rounding_to_Interger
Rounding Exlif Rating Interger
Images support having numbers other than integers for the rating metadata in EXLIF. The database expects it to be an integer though. Trying to upload an image that has a rating other than an integer results in it failing to parse the image and defaulting to showing a corrupted file icon.
Rather than changing the database type, I would like to round the rating to the nearest integer so that Immich works with images that have a rating like this in their metadata.
* Changing Metadata validateRange to always round.
* Update server/src/services/metadata.service.ts
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
---------
Co-authored-by: Daniel Dietzler <36593685+danieldietzler@users.noreply.github.com>
* feat(server): check additional exif date tags
- Add support for UTC date tags (GPSDateTime, DateTimeUTC, GPSDateStamp, SonyDateTime2)
- This matches tags that exiftool-vendored uses for tzSource in extractTzOffsetFromUTCOffset()
* Review comments
* nit
* review comments
* lots of tests for exif datetime
* missed
* format
* format again
---------
Co-authored-by: Alex <alex.tran1502@gmail.com>
* feat: private view
* pr feedback
* sql generation
* feat: visibility column
* fix: set visibility value as the same as the still part after unlinked live photos
* fix: test
* pr feedback
* Transform imported face RegionInfo according to Exif Orientation
* Add unit tests for re-orienting metadata face regions
* Make code DRY using ImmichTagsWithFaces instead of NonNullable
* Add e2e test for importing metadata face regions when orientation is RotateCW90
* Disable new e2e test until its asset is added to the test-assets project
* Simplify unit tests by using the same face tag definition
* Combine similar e2e tests
* Disable new e2e test until portrait-orientation-6.jpg is added to test-assets
* Fix lint error: Expected property shorthand
* Update test-assets ref to latest
* Enable new e2e test after updating test-assets
It seems insta360 stores metadata in XMP GPano tags, with their own
non-standard and undocumented addition `SourceImageCreateTime`. For some
pictures this is the only EXIF tag containing a creation time.