immich icon indicating copy to clipboard operation
immich copied to clipboard

[BUG] Mobile app shows wrong dates on my photos

Open Absent1337 opened this issue 2 years ago • 10 comments

The bug

Date is completely wrong , on photos that I received from someone else. My phone's gallery shows correct date

Screenshot_20231002_102959_Gallery

But date of the same photo in immich is wrong

Screenshot_20231002_102937

The OS that Immich Server is running on

Ubuntu 22, docker

Version of Immich Server

1.79.1

Version of Immich Mobile App

1.79

Platform with the issue

  • [x] Server
  • [x] Web
  • [X] Mobile

Your docker-compose.yml content

networks:
  proxy-net:
    external: true
  immich:

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
    env_file:
      - .env
    depends_on:
      - redis
      - database
      - typesense
    restart: always
    networks:
      - immich

  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
    env_file:
      - .env
    depends_on:
      - redis
      - database
      - typesense
    restart: always
    networks:
      - immich

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

  immich-web:
    container_name: immich_web
    image: ghcr.io/immich-app/immich-web:${IMMICH_VERSION:-release}
    env_file:
      - .env
    restart: always
    networks:
      - immich

  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:
      - /home/milosz/Immich/tsdata:/data
    restart: always
    networks:
      - immich

  redis:
    container_name: immich_redis
    image: redis:6.2-alpine@sha256:70a7a5b641117670beae0d80658430853896b5ef269ccf00d1827427e3263fa3
    restart: always
    networks:
      - immich

  database:
    container_name: immich_postgres
    image: postgres:14-alpine@sha256:28407a9961e76f2d285dc6991e8e48893503cc3836a4755bbc2d40bcc272a441
    env_file:
      - .env
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
    volumes:
      - /home/milosz/Immich/pgdata:/var/lib/postgresql/data
    restart: always
    networks:
      - immich

  immich-proxy:
    container_name: immich_proxy
    image: ghcr.io/immich-app/immich-proxy:${IMMICH_VERSION:-release}
    environment:
      # Make sure these values get passed through from the env file
      - IMMICH_SERVER_URL
      - IMMICH_WEB_URL
    ports:
      - 2283:8080
    depends_on:
      - immich-server
      - immich-web
    restart: always
    networks:
      proxy-net:
        ipv4_address: 172.19.1.15
      immich:

Your .env content

# ou 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=/p1/media-storage/Immich-storage

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

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

# 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

# IMMICH_SERVER_URL=https://test.xyz
# IMMICH_WEB_URL=https://test.xyz

Reproduction steps

View photo in mobile app or web server

Additional information

No response

Absent1337 avatar Oct 02 '23 08:10 Absent1337

I am also seeing this issue on photos that I took on the phone (not received from someone else). I've attached a photo with the issue. iOS photos app shows the date as Oct 29 2023 at 20:12 (correct). Immich shows the date as Oct 27 2023 at 15:08 (both on mobile & web).

Several other similar photos taken at about the same time on the same phone with the same file format are showing up correctly in Immich.

I have foreground upload turned on, and background upload turned off. When I opened Immich for the first time after taking the photos, they showed up in the correct order in the Immich timeline. After a few seconds, the problem photos jumped to their incorrect date in the Immich timeline and have stayed there since. They remain in the correct order in the iOS photos app timeline.

iOS App version 1.83.0 build.123 Server Version 1.83.0

One problem photo (not the only one): IMG_0281

wittymap avatar Oct 30 '23 14:10 wittymap

@alextran1502 did this issue fall through the cracks? I didn't see any action after the original report. Thanks!

Also, I'd suggest maybe renaming the issue as it isn't just the mobile app. The wrong dates are showing on the web app as well on problem photos.

wittymap avatar Oct 30 '23 14:10 wittymap

@wittymap Ah we have other 200 other issues to get to as well. We will get to this eventually 😛 Thank you for bringing this to our attention again.

alextran1502 avatar Oct 30 '23 14:10 alextran1502

I've just tried update your attached photo and this is what I see

image

Is this the expected date?

alextran1502 avatar Oct 30 '23 14:10 alextran1502

@wittymap Ah we have other 200 other issues to get to as well. We will get to this eventually 😛 Thank you for bringing this to our attention again.

Understood, thanks for all you do here. Just wanted to make sure it didn't fall through the cracks :)

Is this the expected date?

Yep, you got the correct date. I just tried again with the file (deleted it from the library and from trash and uploaded the version downloaded it from Github and everything) and it is still showing up in the wrong spot. So something seems to be going wrong on my server.

I'm on server Version 1.83.0

wittymap avatar Oct 30 '23 15:10 wittymap

Can you help me zip up the original file and send it here?

Does your server/container have any special timezone settings?

Can you try uploading to https://demo.immich.app?

alextran1502 avatar Oct 30 '23 15:10 alextran1502

No special timezone settings, it's running in Docker on a fresh install of Mac OS 12. Zip'd file attached. Could you reset the password on the demo server? I can't log in with the demo credentials.

IMG_0281.zip

wittymap avatar Oct 30 '23 15:10 wittymap

Can you try this? https://main.preview.immich.app/

alextran1502 avatar Oct 30 '23 16:10 alextran1502

  • Uploading the photo to that demo instance results in it having the correct date/time in Immich (Oct 29).
  • Uploading the exact same photo to my instance results in the wrong date/time (Oct 27).
  • If I change the Date Taken property on the file in Windows explorer to a totally different date (Oct 20) then upload it to my Immich instance, Immich gives it the correct date/time (Oct 29).

wittymap avatar Oct 30 '23 16:10 wittymap

Here's another photo with the same symptoms. Re-saving the HEIC photo as JPG has no effect, it gets placed on the wrong date regardless. This one was also taken on Oct 29 and is being placed in Oct 20 in the timeline. Note that this is only happening on my MacOS/Docker install of Immich - I have an install on Windows 10/Docker that is behaving correctly. IMG_0280.zip

wittymap avatar Oct 31 '23 13:10 wittymap

[BUG] Web shows wrong dates on my photos

The bug

Asset date & time shown on Web is incorrect compared to date & time shown on iOS Immich App.

Interestingly asset that is uploaded from iOS Immich App will result in incorrect date & time shown on the Web.

But for asset that is uploaded directly from Web there is no problem, the date & time will be correct for both Mobile and Web View.

For Android there is no problem with Asset date & time shown on Mobile or Web. Uploading from Android Immich App and through web work nicely.

In conclusion there is something wrong for iOS Immich App asset upload. When viewed from Web the date & time will be different.

*Note: Only asset that is being shared from someone has this issue. If asset taken from the origin phone then such issue does not persist. The asset shown is provided here Assets.zip

Image

Environment

The OS that Immich Server is running on Debian 12 - Docker 27.5.0

Version of Immich Server v1.124.2

Version of Immich Mobile App V1.124.0 build.187

Platform with the issue Web Mobile

Your docker-compose.yml content

name: immich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    volumes:
      # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    ports:
      - '2283:2283'
    depends_on:
      - redis
      - database
    restart: always
    healthcheck:
      disable: false

  immich-machine-learning:
    container_name: immich_machine_learning
    # For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag.
    # Example tag: ${IMMICH_VERSION:-release}-cuda
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
    #   file: hwaccel.ml.yml
    #   service: cpu # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable
    volumes:
      - model-cache:/cache
    env_file:
      - .env
    restart: always
    healthcheck:
      disable: false

  redis:
    container_name: immich_redis
    image: docker.io/redis:6.2-alpine@sha256:eaba718fecd1196d88533de7ba49bf903ad33664a92debb24660a922ecd9cac8
    healthcheck:
      test: redis-cli ping || exit 1
    restart: always

  database:
    container_name: immich_postgres
    image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: '--data-checksums'
    volumes:
      # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    healthcheck:
      test: >-
        pg_isready --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" || exit 1;
        Chksum="$$(psql --dbname="$${POSTGRES_DB}" --username="$${POSTGRES_USER}" --tuples-only --no-align
        --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')";
        echo "checksum failure count is $$Chksum";
        [ "$$Chksum" = '0' ] || exit 1
      interval: 5m
      start_interval: 30s
      start_period: 5m
    command: >-
      postgres
      -c shared_preload_libraries=vectors.so
      -c 'search_path="$$user", public, vectors'
      -c logging_collector=on
      -c max_wal_size=2GB
      -c shared_buffers=512MB
      -c wal_compression=on
    restart: always

volumes:
  model-cache:


Your .env content

UPLOAD_LOCATION=./library
DB_DATA_LOCATION=./postgres
TZ=Asia/Kuala_Lumpur
IMMICH_VERSION=release
DB_PASSWORD=postgres
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

Reproduction steps

  1. Pick an asset that is shared
  2. Upload the asset via iOS Immich App
  3. Compare the time on web and on app.
  4. Pick another asset that is shared.
  5. Upload the asset via Web.
  6. Compare the time on web and on app.

Additional information

ExifTool Version Number 12.72 File Name 9df5d96d-096d-4994-b7c2-0426e192b5cd.jpg Directory . File Size 627 kB File Modification Date/Time 2025:01:24 04:30:43+01:00 File Access Date/Time 2025:01:24 04:30:43+01:00 File Inode Change Date/Time 2025:01:24 04:30:43+01:00 File Permissions -rw-r--r-- File Type JPEG File Type Extension jpg MIME Type image/jpeg JFIF Version 1.01 Resolution Unit None X Resolution 1 Y Resolution 1 Image Width 1440 Image Height 2560 Encoding Process Progressive DCT, Huffman coding Bits Per Sample 8 Color Components 3 Y Cb Cr Sub Sampling YCbCr4:2:0 (2 2) Image Size 1440x2560 Megapixels 3.7

ExifTool Version Number 12.72 File Name aaecd9b3-920d-4270-af58-a459844acc23.jpg Directory . File Size 253 kB File Modification Date/Time 2025:01:24 04:32:56+01:00 File Access Date/Time 2025:01:24 04:32:56+01:00 File Inode Change Date/Time 2025:01:24 04:32:56+01:00 File Permissions -rw-r--r-- File Type JPEG File Type Extension jpg MIME Type image/jpeg JFIF Version 1.01 Resolution Unit None X Resolution 1 Y Resolution 1 Image Width 1440 Image Height 2560 Encoding Process Progressive DCT, Huffman coding Bits Per Sample 8 Color Components 3 Y Cb Cr Sub Sampling YCbCr4:2:0 (2 2) Image Size 1440x2560 Megapixels 3.7

YapWC avatar Jan 24 '25 04:01 YapWC

@YapWC please don't hijack issues

C-Otto avatar Jan 25 '25 10:01 C-Otto

@wittymap the IMG_0281 file does not contain any reference to Oct 27 2023 and I get the expected date (Oct 29). Do you have any idea where the wrong date might come from? How does the file show up in your server's storage?

C-Otto avatar Jan 25 '25 10:01 C-Otto

@YapWC please don't hijack issues

Apology, accidental.

Is the issue I posted verified or it is something that just happen on my side? On my side it is still the same after updating to v1.125.7

YapWC avatar Feb 03 '25 06:02 YapWC

#12650

danieldietzler avatar Sep 11 '25 21:09 danieldietzler