-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Immich on ios download remote "Most Compatible" from camera's settings image has different checksum #12909
Comments
I assume you did not use the download button from the asset viewer but from the native share sheet? |
It seems to happen only with images, videos and live photos are working normally. The bug above occurs when I use the download button from the asset viewer. I just tested downloading an image from both the download button in the asset viewer and the native share sheet, and both seem to have the issue. Thanks |
Hi @alextran1502 |
Same here. |
Confirmed, pretty weird indeed |
Hi @alextran1502, Images with different hashes will have different metadata. I think it's because of the photo_manager package. I've already updated it to v3.5.0 and photo_manager_image_provider to v2.1.2, but the issue still happens after the update. |
@dvbthien I came to the same conclusion, I will open an issue in |
Hi @alextran1502, Just as I thought, the issue was caused by the photo_manager package. saveImage and saveImageWithPath in photo_manager use PHAssetCreationRequest in Swift to create a new Photos asset, which sometimes changes the info metadata and results in a file with a different hash. I think the author's photo_manager needs to add a creationRequestForAssetFromImageAtFileURL method that will create a request for adding a new image asset to the Photos library without changing the file, thus preserving the hash. I found this when I tried the gal package and used Gal.putImage to save an image to my gallery; the issue didn't happen. This is the native iOS code Gal uses: Code This is the native iOS code photo_manager uses: Code This Apple document provides an explanation of creationRequestForAssetFromImageAtFileURL and PHAssetCreationRequest |
I have opened an issue in the photo_manager. |
Cool that you figured that all out so fast. It drives me crazy already since a few app release and I wasn’t sure if that behaviour is intentional or a bug. |
I previously opened a related issue (#8815) and am looking forward to it being resolved! |
I am just here to say "thank you" for you guys fixing this. My No.1 use case issue with Immich 👍
|
flutter_photo_manager released a new update yesterday that includes a fix for the issue. @alextran1502, could you please upgrade the dependency? |
@ngtrio we are already in a new release process so that update will be in after v1.118.0 |
Hi @alextran1502, I have just created pull request to fix this issue, can you help me review it? Thanks |
The bug
When I download a remote image on iOS 15.1, the locally downloaded image has a different checksum than the remote image. As a result, immich displays two images: one local image and one remote image. This issue only occurs when downloading images. I have tested with videos, and they are normal. It only happens with images.
You can watch the video: Link
I also verify the image integrity by downloading it from the Immich web interface, then Airdropping it to my iPhone. Immich on iOS correctly displays the image with a cloud check icon
The OS that Immich Server is running on
Linux-Synology
Version of Immich Server
v1.115.0
Version of Immich Mobile App
v1.115.0
Platform with the issue
Your docker-compose.yml content
Not relevant
Your .env content
Reproduction steps
Relevant log output
Additional information
No response
The text was updated successfully, but these errors were encountered: