[BUG] In the iOS app, the metadata of the backed up file is different. #1827

Open
opened 2026-02-05 04:05:18 +03:00 by OVERLORD · 10 comments
Owner

Originally created by @paijjang on GitHub (Dec 18, 2023).

Originally assigned to: @shenlong-tanwen on GitHub.

The bug

It was written with a translator, so the language is awkward. I apologize in advance.
I am currently using immich as Docker on Synology. I think immich is the best photo backup server and program I've ever used.
However, i have one problem.
I don't know if this is a bug or not, so I'm leaving it as a discussion section.
(In this case, the same symptoms appear in synology photos app backup and immich app backup, which I have currently tested)
In the case of portrait photos or cinematic videos backed up with immich ios app, delete the original video from the iPhone, re-download it as iOS Photos from immich, and run it.
Then, the menu for turning portrait mode on and off, which was possible in the original version, will not work.
Cinematic video is also only capable of HDR, and the unique functions of cinematics (focus change, etc.) do not work.
However, after backing up with an app called photosync (third party), adding it to the immich server, downloading it through immich and running it in iOS Photos, editing that was possible in the original (turning on or off portrait mode, editing cinematic video) was possible. .
So, when comparing the actual exif metadata, something was confirmed to be different.
(In the photosync file, there is an additional item called Region)
I would like to ask if immich can also include this information when backing up photos. If this information is added, I think it will be more convenient to use immich.

Differences in exif metadata (syntax that only exists in files backed up with photosync)

Region Area Y : 0.36199999999999999
Region Area W : 0.11299999999999999
Region Area X : 0.42749999999999994
Region Area H : 0.15799999999999997
Region Area Unit : normalized
Region Type : Focus
Region Extensions :
Region Applied To Dimensions H : 3024
Region Applied To Dimensions W : 4032
Region Applied To Dimensions Unit: pixel

metafile...
IMG_6629.HEIC.backup_for_immich.TXT
IMG_6629.HEIC.backup_for_photosync.TXT

The OS that Immich Server is running on

Synology 7.1.1-42962 update 6.(uname -a result : Linux RANSER-NAS-BOX 3.10.108 #42962 SMP Mon May 29 14:36:28 CST 2023 x86_64 GNU/Linux synology_avoton_1815+)

Version of Immich Server

v1.90.2

Version of Immich Mobile App

v1.90.2

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

version: "3.8"

#
# WARNING: Make sure to use the docker-compose.yml of the current release:
#
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
#
# The compose file on main may not be compatible with the latest release.
#

name: tmimmich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    command: [ "start.sh", "immich" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - ${RAWDATA_LOCATION}:/usr/src/app/upload/library
      - /etc/localtime:/etc/localtime:ro
      - ${EXTERNAL_LOCATION}:/mnt/media/old_photo
    env_file:
      - .env
    ports:
      - 2283:3001
    depends_on:
      - redis
      - database
      - typesense
    restart: always
    networks:
      TMBRIDGE:
        ipv4_address: 172.18.1.101

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    # extends:
    #   file: hwaccel.yml
    #   service: hwaccel
    command: [ "start.sh", "microservices" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - ${RAWDATA_LOCATION}:/usr/src/app/upload/library
      - /etc/localtime:/etc/localtime:ro
      - ${EXTERNAL_LOCATION}:/mnt/media/old_photo
    env_file:
      - .env
    depends_on:
      - redis
      - database
      - typesense
    restart: always
    networks:
      TMBRIDGE:
        ipv4_address: 172.18.1.102

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    volumes:
      - model-cache:/cache
    env_file:
      - .env
    restart: always
    networks:
      TMBRIDGE:
        ipv4_address: 172.18.1.103

  typesense:
    container_name: immich_typesense
    image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd
    environment:
      - TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
      - TYPESENSE_DATA_DIR=/data
      # remove this to get debug messages
      - GLOG_minloglevel=1
    volumes:
      - tsdata:/data
    restart: always
    networks:
      TMBRIDGE:
        ipv4_address: 172.18.1.104

  redis:
    container_name: immich_redis
    image: redis:6.2-alpine@sha256:80cc8518800438c684a53ed829c621c94afd1087aaeb59b0d4343ed3e7bcf6c5
    restart: always
    networks:
      TMBRIDGE:
        ipv4_address: 172.18.1.105

  database:
    container_name: immich_postgres
    image: postgres:14-alpine@sha256:50d9be76e9a90da4c781554955e0ffc79d9d5c4226838e64b36aacc97cbc35ad
    env_file:
      - .env
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
    volumes:
      - pgdata:/var/lib/postgresql/data
    restart: always
    networks:
      TMBRIDGE:
        ipv4_address: 172.18.1.106

volumes:
  pgdata:
  model-cache:
  tsdata:

networks:
  TMBRIDGE:
    external: true

Your .env content

# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables

# The location where your uploaded files are stored
UPLOAD_LOCATION=./data
RAWDATA_LOCATION=/volume2/TMPHOTO/immich-photofile
EXTERNAL_LOCATION=/volume2/homes/TM/newphotos

# The Immich version to use. You can pin this to a specific
IMMICH_VERSION=release

# Connection secrets for postgres and typesense. You should change these to random passwords
#TYPESENSE_API_KEY=REMOVE
DB_PASSWORD=REMOVE

# The values below this line do not need to be changed
###################################################################################
DB_HOSTNAME=immich_postgres
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

REDIS_HOSTNAME=immich_redis

Reproduction steps

1. (IN IOS APP) backup to "newfolder" album by immich or synology photos app (= by portrait picture)
2. (IN IOS APP) backup to "newfolder" album by (= by portrait picture)
2-1. upload backup picture(by photosync backup) to immich web
3. download pictures(immich or synology photos backup, and photosync app backup)
4. save the metadata by exiftool(https://exiftool.org/)
   exiftool(-k).exe picname.HEIC > picname.HEIC.txt
5. merge two file metadata..

Additional information

No response

Originally created by @paijjang on GitHub (Dec 18, 2023). Originally assigned to: @shenlong-tanwen on GitHub. ### The bug It was written with a translator, so the language is awkward. I apologize in advance. I am currently using immich as Docker on Synology. I think immich is the best photo backup server and program I've ever used. However, i have one problem. I don't know if this is a bug or not, so I'm leaving it as a discussion section. (In this case, the same symptoms appear in synology photos app backup and immich app backup, which I have currently tested) In the case of portrait photos or cinematic videos backed up with immich ios app, delete the original video from the iPhone, re-download it as iOS Photos from immich, and run it. Then, the menu for turning portrait mode on and off, which was possible in the original version, will not work. Cinematic video is also only capable of HDR, and the unique functions of cinematics (focus change, etc.) do not work. However, after backing up with an app called photosync (third party), adding it to the immich server, downloading it through immich and running it in iOS Photos, editing that was possible in the original (turning on or off portrait mode, editing cinematic video) was possible. . So, when comparing the actual exif metadata, something was confirmed to be different. (In the photosync file, there is an additional item called Region) I would like to ask if immich can also include this information when backing up photos. If this information is added, I think it will be more convenient to use immich. Differences in exif metadata (syntax that only exists in files backed up with photosync) Region Area Y : 0.36199999999999999 Region Area W : 0.11299999999999999 Region Area X : 0.42749999999999994 Region Area H : 0.15799999999999997 Region Area Unit : normalized Region Type : Focus Region Extensions : Region Applied To Dimensions H : 3024 Region Applied To Dimensions W : 4032 Region Applied To Dimensions Unit: pixel metafile... [IMG_6629.HEIC.backup_for_immich.TXT](https://github.com/immich-app/immich/files/13701535/IMG_6629.HEIC.backup_for_immich.TXT) [IMG_6629.HEIC.backup_for_photosync.TXT](https://github.com/immich-app/immich/files/13701536/IMG_6629.HEIC.backup_for_photosync.TXT) ### The OS that Immich Server is running on Synology 7.1.1-42962 update 6.(uname -a result : Linux RANSER-NAS-BOX 3.10.108 #42962 SMP Mon May 29 14:36:28 CST 2023 x86_64 GNU/Linux synology_avoton_1815+) ### Version of Immich Server v1.90.2 ### Version of Immich Mobile App v1.90.2 ### Platform with the issue - [X] Server - [X] Web - [X] Mobile ### Your docker-compose.yml content ```YAML version: "3.8" # # WARNING: Make sure to use the docker-compose.yml of the current release: # # https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml # # The compose file on main may not be compatible with the latest release. # name: tmimmich services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} command: [ "start.sh", "immich" ] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - ${RAWDATA_LOCATION}:/usr/src/app/upload/library - /etc/localtime:/etc/localtime:ro - ${EXTERNAL_LOCATION}:/mnt/media/old_photo env_file: - .env ports: - 2283:3001 depends_on: - redis - database - typesense restart: always networks: TMBRIDGE: ipv4_address: 172.18.1.101 immich-microservices: container_name: immich_microservices image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} # extends: # file: hwaccel.yml # service: hwaccel command: [ "start.sh", "microservices" ] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - ${RAWDATA_LOCATION}:/usr/src/app/upload/library - /etc/localtime:/etc/localtime:ro - ${EXTERNAL_LOCATION}:/mnt/media/old_photo env_file: - .env depends_on: - redis - database - typesense restart: always networks: TMBRIDGE: ipv4_address: 172.18.1.102 immich-machine-learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} volumes: - model-cache:/cache env_file: - .env restart: always networks: TMBRIDGE: ipv4_address: 172.18.1.103 typesense: container_name: immich_typesense image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd environment: - TYPESENSE_API_KEY=${TYPESENSE_API_KEY} - TYPESENSE_DATA_DIR=/data # remove this to get debug messages - GLOG_minloglevel=1 volumes: - tsdata:/data restart: always networks: TMBRIDGE: ipv4_address: 172.18.1.104 redis: container_name: immich_redis image: redis:6.2-alpine@sha256:80cc8518800438c684a53ed829c621c94afd1087aaeb59b0d4343ed3e7bcf6c5 restart: always networks: TMBRIDGE: ipv4_address: 172.18.1.105 database: container_name: immich_postgres image: postgres:14-alpine@sha256:50d9be76e9a90da4c781554955e0ffc79d9d5c4226838e64b36aacc97cbc35ad env_file: - .env environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} volumes: - pgdata:/var/lib/postgresql/data restart: always networks: TMBRIDGE: ipv4_address: 172.18.1.106 volumes: pgdata: model-cache: tsdata: networks: TMBRIDGE: external: true ``` ### Your .env content ```Shell # You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables # The location where your uploaded files are stored UPLOAD_LOCATION=./data RAWDATA_LOCATION=/volume2/TMPHOTO/immich-photofile EXTERNAL_LOCATION=/volume2/homes/TM/newphotos # The Immich version to use. You can pin this to a specific IMMICH_VERSION=release # Connection secrets for postgres and typesense. You should change these to random passwords #TYPESENSE_API_KEY=REMOVE DB_PASSWORD=REMOVE # The values below this line do not need to be changed ################################################################################### DB_HOSTNAME=immich_postgres DB_USERNAME=postgres DB_DATABASE_NAME=immich REDIS_HOSTNAME=immich_redis ``` ### Reproduction steps ```bash 1. (IN IOS APP) backup to "newfolder" album by immich or synology photos app (= by portrait picture) 2. (IN IOS APP) backup to "newfolder" album by (= by portrait picture) 2-1. upload backup picture(by photosync backup) to immich web 3. download pictures(immich or synology photos backup, and photosync app backup) 4. save the metadata by exiftool(https://exiftool.org/) exiftool(-k).exe picname.HEIC > picname.HEIC.txt 5. merge two file metadata.. ``` ### Additional information _No response_
OVERLORD added the 📱mobile label 2026-02-05 04:05:18 +03:00
Author
Owner

@alextran1502 commented on GitHub (Dec 18, 2023):

I think this is the limitation of the library that we use i.e photo_manager about retrieving original data for Portrait mode

@alextran1502 commented on GitHub (Dec 18, 2023): I think this is the limitation of the library that we use i.e [photo_manager](https://github.com/fluttercandies/flutter_photo_manager) about retrieving original data for Portrait mode
Author
Owner

@stealthm0d3 commented on GitHub (Sep 29, 2024):

Any idea if this will be fixed soon?

@stealthm0d3 commented on GitHub (Sep 29, 2024): Any idea if this will be fixed soon?
Author
Owner

@stealthm0d3 commented on GitHub (Aug 10, 2025):

Hey @shenlong-tanwen please let me know your thoughts on this issue, do you think this will ever be fixed? This is a blocker because the photos uploaded on immich aren't 1:1 copy of the local photos on iOS devices.

@stealthm0d3 commented on GitHub (Aug 10, 2025): Hey @shenlong-tanwen please let me know your thoughts on this issue, do you think this will ever be fixed? This is a blocker because the photos uploaded on immich aren't 1:1 copy of the local photos on iOS devices.
Author
Owner

@shenlong-tanwen commented on GitHub (Sep 13, 2025):

Hey @shenlong-tanwen please let me know your thoughts on this issue, do you think this will ever be fixed? This is a blocker because the photos uploaded on immich aren't 1:1 copy of the local photos on iOS devices.

This is definitely on my radar. I'll check this sometime next week

@shenlong-tanwen commented on GitHub (Sep 13, 2025): > Hey [@shenlong-tanwen](https://github.com/shenlong-tanwen) please let me know your thoughts on this issue, do you think this will ever be fixed? This is a blocker because the photos uploaded on immich aren't 1:1 copy of the local photos on iOS devices. This is definitely on my radar. I'll check this sometime next week
Author
Owner

@stealthm0d3 commented on GitHub (Oct 2, 2025):

Hey @shenlong-tanwen please let me know your thoughts on this issue, do you think this will ever be fixed? This is a blocker because the photos uploaded on immich aren't 1:1 copy of the local photos on iOS devices.

This is definitely on my radar. I'll check this sometime next week

Hi @shenlong-tanwen, did have any updates? Thanks

@stealthm0d3 commented on GitHub (Oct 2, 2025): > > Hey [@shenlong-tanwen](https://github.com/shenlong-tanwen) please let me know your thoughts on this issue, do you think this will ever be fixed? This is a blocker because the photos uploaded on immich aren't 1:1 copy of the local photos on iOS devices. > > This is definitely on my radar. I'll check this sometime next week Hi @shenlong-tanwen, did have any updates? Thanks
Author
Owner

@skatsubo commented on GitHub (Oct 28, 2025):

Also discussed in

Upstream feature request in PhotoManager:

@skatsubo commented on GitHub (Oct 28, 2025): Also discussed in - https://github.com/immich-app/immich/discussions/4750#discussioncomment-10128249 Upstream feature request in PhotoManager: - https://github.com/fluttercandies/flutter_photo_manager/issues/1070
Author
Owner

@shenlong-tanwen commented on GitHub (Oct 29, 2025):

Hi @shenlong-tanwen, did have any updates? Thanks

The issue is because of the difference in resource being selected for uploads from the other apps and Immich. This can be fixed, but requires a bit of internal discussion as to how to handle this for previously uploaded assets. Will update here with more details when a decision has been made

@shenlong-tanwen commented on GitHub (Oct 29, 2025): > Hi [@shenlong-tanwen](https://github.com/shenlong-tanwen), did have any updates? Thanks The issue is because of the difference in resource being selected for uploads from the other apps and Immich. This can be fixed, but requires a bit of internal discussion as to how to handle this for previously uploaded assets. Will update here with more details when a decision has been made
Author
Owner

@stealthm0d3 commented on GitHub (Nov 7, 2025):

Hi @shenlong-tanwen, did have any updates? Thanks

The issue is because of the difference in resource being selected for uploads from the other apps and Immich. This can be fixed, but requires a bit of internal discussion as to how to handle this for previously uploaded assets. Will update here with more details when a decision has been made

If this can be fixed, will the upload be a 1:1 copy of the original image? There are newer edits possible with HEIC format such controlling the intensity of the photographic styles which can be done after the photo is saved

@stealthm0d3 commented on GitHub (Nov 7, 2025): > > Hi [@shenlong-tanwen](https://github.com/shenlong-tanwen), did have any updates? Thanks > > The issue is because of the difference in resource being selected for uploads from the other apps and Immich. This can be fixed, but requires a bit of internal discussion as to how to handle this for previously uploaded assets. Will update here with more details when a decision has been made If this can be fixed, will the upload be a 1:1 copy of the original image? There are newer edits possible with HEIC format such controlling the intensity of the photographic styles which can be done after the photo is saved
Author
Owner

@stealthm0d3 commented on GitHub (Dec 4, 2025):

Hi @shenlong-tanwen, did have any updates? Thanks

The issue is because of the difference in resource being selected for uploads from the other apps and Immich. This can be fixed, but requires a bit of internal discussion as to how to handle this for previously uploaded assets. Will update here with more details when a decision has been made

Hi @shenlong-tanwen - is there any update? Thank you

@stealthm0d3 commented on GitHub (Dec 4, 2025): > > Hi [@shenlong-tanwen](https://github.com/shenlong-tanwen), did have any updates? Thanks > > The issue is because of the difference in resource being selected for uploads from the other apps and Immich. This can be fixed, but requires a bit of internal discussion as to how to handle this for previously uploaded assets. Will update here with more details when a decision has been made Hi @shenlong-tanwen - is there any update? Thank you
Author
Owner

@shenlong-tanwen commented on GitHub (Dec 9, 2025):

Hi @shenlong-tanwen - is there any update? Thank you

We are still discussing on how to handle the different asset resources on iOS. No decision has been made on this yet. This is a rather important change with how asset uploads are handled on iOS, so requires careful considerations

@shenlong-tanwen commented on GitHub (Dec 9, 2025): > Hi [@shenlong-tanwen](https://github.com/shenlong-tanwen) - is there any update? Thank you We are still discussing on how to handle the different asset resources on iOS. No decision has been made on this yet. This is a rather important change with how asset uploads are handled on iOS, so requires careful considerations
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#1827