Pixel 10 Pro can't view HEIC images #7053

Open
opened 2026-02-05 12:44:27 +03:00 by OVERLORD · 15 comments
Owner

Originally created by @Cyber-Unicorn-42 on GitHub (Sep 1, 2025).

I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.

  • Yes

The bug

I just moved over from a iPhone to a Pixel phone and I can't view HEIC images in the Android Immich app.
Downloading the photo and viewing it in the built-in photos app works without a problem, I can also view the images through the web interface without any issues at all.
Viewing photos through the iOS apps works fine as well.

Photos in JPG work fine, as do movies.

The OS that Immich Server is running on

Synology

Version of Immich Server

v1.140.1

Version of Immich Mobile App

1.140.0 build 3010

Platform with the issue

  • Server
  • Web
  • Mobile

Device make and model

Pixel 10 Pro

Your docker-compose.yml content

#
# WARNING: To install Immich, follow our guide: https://immich.app/docs/install/docker-compose
#
# 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: immich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    # extends:
    #   file: hwaccel.transcoding.yml
    #   service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
    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
      - /volume2/Photos:/usr/src/app/upload:rw
      - /etc/localtime:/etc/localtime:ro
    #env_file:
    #  - ./immich.env
    environment:
      - PUID=UserID
      - PGID=GroupID
      - UMASK=Mask
      - TZ=Aystralia/Sydney
      - IMMICH_VERSION=release
      - DB_HOSTNAME=immich_postgres
      - REDIS_HOSTNAME=immich_redis
      - DB_PASSWORD=PG_Password
      - MACHINE_LEARNING_HOST=immich_machine_learning
    ports:
      - '2283:2283'
    network_mode: nasbridge
    security_opt:
      - no-new-privileges:true
    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, rocm, openvino, rknn] 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, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable
    volumes:
      - /volume3/docker/immich/model-cache:/cache
    #env_file:
    #  - ./immich.env
    environment:
      - PUID=UserID
      - PGID=GroupID
      - UMASK=Mask
      - TZ=Aystralia/Sydney
      - IMMICH_VERSION=release
    #ports:
      #- '3003:3003'
    network_mode: nasbridge
    security_opt:
      - no-new-privileges:true
    restart: always
    healthcheck:
      disable: false
    hostname: immich_machine_learning

  redis:
    container_name: immich_redis
    image: docker.io/valkey/valkey:8-bookworm@sha256:42cba146593a5ea9a622002c1b7cba5da7be248650cbb64ecb9c6c33d29794b1
    network_mode: nasbridge
    healthcheck:
      test: redis-cli ping || exit 1
    restart: always
    hostname: immich_redis

  database:
    container_name: immich_postgres
    image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:739cdd626151ff1f796dc95a6591b55a714f341c737e27f045019ceabf8e8c52
    environment:
      POSTGRES_PASSWORD: PG_Password
      POSTGRES_USER: PG_User
      POSTGRES_DB: immich
      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
      - /volume3/docker/immich/postgres:/var/lib/postgresql/data
    network_mode: nasbridge
    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_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
    hostname: immich_postgres

Your .env content

No .env file

Reproduction steps

1.Open HEIC file on Android App
2.
3.
...

Relevant log output


Additional information

No response

Originally created by @Cyber-Unicorn-42 on GitHub (Sep 1, 2025). ### I have searched the existing issues, both open and closed, to make sure this is not a duplicate report. - [x] Yes ### The bug I just moved over from a iPhone to a Pixel phone and I can't view HEIC images in the Android Immich app. Downloading the photo and viewing it in the built-in photos app works without a problem, I can also view the images through the web interface without any issues at all. Viewing photos through the iOS apps works fine as well. Photos in JPG work fine, as do movies. ### The OS that Immich Server is running on Synology ### Version of Immich Server v1.140.1 ### Version of Immich Mobile App 1.140.0 build 3010 ### Platform with the issue - [ ] Server - [ ] Web - [x] Mobile ### Device make and model Pixel 10 Pro ### Your docker-compose.yml content ```YAML # # WARNING: To install Immich, follow our guide: https://immich.app/docs/install/docker-compose # # 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: immich services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} # extends: # file: hwaccel.transcoding.yml # service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding 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 - /volume2/Photos:/usr/src/app/upload:rw - /etc/localtime:/etc/localtime:ro #env_file: # - ./immich.env environment: - PUID=UserID - PGID=GroupID - UMASK=Mask - TZ=Aystralia/Sydney - IMMICH_VERSION=release - DB_HOSTNAME=immich_postgres - REDIS_HOSTNAME=immich_redis - DB_PASSWORD=PG_Password - MACHINE_LEARNING_HOST=immich_machine_learning ports: - '2283:2283' network_mode: nasbridge security_opt: - no-new-privileges:true 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, rocm, openvino, rknn] 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, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable volumes: - /volume3/docker/immich/model-cache:/cache #env_file: # - ./immich.env environment: - PUID=UserID - PGID=GroupID - UMASK=Mask - TZ=Aystralia/Sydney - IMMICH_VERSION=release #ports: #- '3003:3003' network_mode: nasbridge security_opt: - no-new-privileges:true restart: always healthcheck: disable: false hostname: immich_machine_learning redis: container_name: immich_redis image: docker.io/valkey/valkey:8-bookworm@sha256:42cba146593a5ea9a622002c1b7cba5da7be248650cbb64ecb9c6c33d29794b1 network_mode: nasbridge healthcheck: test: redis-cli ping || exit 1 restart: always hostname: immich_redis database: container_name: immich_postgres image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:739cdd626151ff1f796dc95a6591b55a714f341c737e27f045019ceabf8e8c52 environment: POSTGRES_PASSWORD: PG_Password POSTGRES_USER: PG_User POSTGRES_DB: immich 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 - /volume3/docker/immich/postgres:/var/lib/postgresql/data network_mode: nasbridge 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_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 hostname: immich_postgres ``` ### Your .env content ```Shell No .env file ``` ### Reproduction steps 1.Open HEIC file on Android App 2. 3. ... ### Relevant log output ```shell ``` ### Additional information _No response_
OVERLORD added the 📱mobile label 2026-02-05 12:44:27 +03:00
Author
Owner

@mertalev commented on GitHub (Sep 1, 2025):

Hi, are you using the beta timeline?

@mertalev commented on GitHub (Sep 1, 2025): Hi, are you using the beta timeline?
Author
Owner

@Cyber-Unicorn-42 commented on GitHub (Sep 1, 2025):

Not using the beta timeline. Just noticed the thumbnail also loads fine (as I assume those are generated as jpg), it just loading the full image that fails.

@Cyber-Unicorn-42 commented on GitHub (Sep 1, 2025): Not using the beta timeline. Just noticed the thumbnail also loads fine (as I assume those are generated as jpg), it just loading the full image that fails.
Author
Owner

@mertalev commented on GitHub (Sep 1, 2025):

Can you enable the beta timeline in the app settings and try again? The beta timeline uses a completely different image loading process.

@mertalev commented on GitHub (Sep 1, 2025): Can you enable the beta timeline in the app settings and try again? The beta timeline uses a completely different image loading process.
Author
Owner

@Cyber-Unicorn-42 commented on GitHub (Sep 1, 2025):

That seems to make the images load, but now some HEIC images are showing a grey square for the thumbnail (and all .mov videos are doing this as well, mp4 videos show correctly).
It also seems to load a lower resolution version of the picture when going into detail, not the full resolution picture.
If I click to play the motion on any of the live photos, I get a high resolution "video", but it swaps back to the low/medium resolution picture once done playing.

@Cyber-Unicorn-42 commented on GitHub (Sep 1, 2025): That seems to make the images load, but now some HEIC images are showing a grey square for the thumbnail (and all .mov videos are doing this as well, mp4 videos show correctly). It also seems to load a lower resolution version of the picture when going into detail, not the full resolution picture. If I click to play the motion on any of the live photos, I get a high resolution "video", but it swaps back to the low/medium resolution picture once done playing.
Author
Owner

@mertalev commented on GitHub (Sep 1, 2025):

Are there any errors in the logs?

@mertalev commented on GitHub (Sep 1, 2025): Are there any errors in the logs?
Author
Owner

@Cyber-Unicorn-42 commented on GitHub (Sep 1, 2025):

Yes there appear to be a number of errors, I have attached the log file to this comment

Immich_log_2025-09-01T10_57_21.612968.log

@Cyber-Unicorn-42 commented on GitHub (Sep 1, 2025): Yes there appear to be a number of errors, I have attached the log file to this comment [Immich_log_2025-09-01T10_57_21.612968.log](https://github.com/user-attachments/files/22069633/Immich_log_2025-09-01T10_57_21.612968.log)
Author
Owner

@mertalev commented on GitHub (Sep 1, 2025):

It's strange, the errors are all FileNotFoundException. I wonder if this is a quirk of migrating these images from iPhone to Android.

@mertalev commented on GitHub (Sep 1, 2025): It's strange, the errors are all `FileNotFoundException`. I wonder if this is a quirk of migrating these images from iPhone to Android.
Author
Owner

@Cyber-Unicorn-42 commented on GitHub (Sep 1, 2025):

I never moved the files over, I just removed the app from the iPhone and then used Immich to download the last year or so onto the new Android phone (so I have a local copy).
The files were downloaded into a new folder onto my Android which I included in the backup sync. The included sync folders are Immich, Camera and Screenshots.

The photos/videos still work fine through web interface (both on the Android device as well as through a Windows desktop).

@Cyber-Unicorn-42 commented on GitHub (Sep 1, 2025): I never moved the files over, I just removed the app from the iPhone and then used Immich to download the last year or so onto the new Android phone (so I have a local copy). The files were downloaded into a new folder onto my Android which I included in the backup sync. The included sync folders are Immich, Camera and Screenshots. The photos/videos still work fine through web interface (both on the Android device as well as through a Windows desktop).
Author
Owner

@clayauld commented on GitHub (Oct 26, 2025):

I can confirm this is an issue on my Pixel 10 Pro. I have several errors in the logs. The photos are shared from my wife's iPhone and I am only able to see the low resolution thumbnails after a second. When I force close the app, then reopen it the full image will load for a second. But as soon as I attempt to zoom in it reverts to the thumbnail.

I attempted to clear the SQLite db in the app, as well as use the old timeline. When I turn the new timeline off, I'm unable to see any image at all when I select the heic iPhone photos.

Immich_log.log

@clayauld commented on GitHub (Oct 26, 2025): I can confirm this is an issue on my Pixel 10 Pro. I have several errors in the logs. The photos are shared from my wife's iPhone and I am only able to see the low resolution thumbnails after a second. When I force close the app, then reopen it the full image will load for a second. But as soon as I attempt to zoom in it reverts to the thumbnail. I attempted to clear the SQLite db in the app, as well as use the old timeline. When I turn the new timeline off, I'm unable to see any image at all when I select the heic iPhone photos. [Immich_log.log](https://github.com/user-attachments/files/23145891/Immich_log.log)
Author
Owner

@clayauld commented on GitHub (Oct 26, 2025):

Edit: After wiping the app cache and setting it back up again I was able to get things to work properly.

@clayauld commented on GitHub (Oct 26, 2025): Edit: After wiping the app cache and setting it back up again I was able to get things to work properly.
Author
Owner

@Cyber-Unicorn-42 commented on GitHub (Oct 28, 2025):

Clearing the app cache on my phone did not solve the issue for me, still seeing grey boxes for some thumbnails and only lower resolution images being loaded.
Are you talking about a different app cache? Something on the Immich server side?

@Cyber-Unicorn-42 commented on GitHub (Oct 28, 2025): Clearing the app cache on my phone did not solve the issue for me, still seeing grey boxes for some thumbnails and only lower resolution images being loaded. Are you talking about a different app cache? Something on the Immich server side?
Author
Owner

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

I wiped the app stored data on my phone, effectively resetting the entire app. So far things have been working okay since I set the app back up again.

Edit: Nope the issue is back. Going to the Asset Viewer settings and turning on the option to "Load Original Image" broke this for me again. It must be how the Pixel 10 handles the original heic photo that breaks this. I disabled this option switch again and things appear to work again.

I'd like to be able to enable this feature, but probably won't until the issue is fixed.

@clayauld commented on GitHub (Oct 28, 2025): I wiped the app stored data on my phone, effectively resetting the entire app. So far things have been working okay since I set the app back up again. Edit: Nope the issue is back. Going to the Asset Viewer settings and turning on the option to "Load Original Image" broke this for me again. It must be how the Pixel 10 handles the original heic photo that breaks this. I disabled this option switch again and things appear to work again. I'd like to be able to enable this feature, but probably won't until the issue is fixed.
Author
Owner

@Cyber-Unicorn-42 commented on GitHub (Jan 9, 2026):

I never had that option turned on. Turning it on or off, does not seem to make any difference.

@Cyber-Unicorn-42 commented on GitHub (Jan 9, 2026): I never had that option turned on. Turning it on or off, does not seem to make any difference.
Author
Owner

@rsmanning commented on GitHub (Jan 11, 2026):

Image

Confirming as well. Wife has a Pixel 10 Pro and any picture taken on it comes up as black on my phone and web browser on PC it says "Error loading image" for both thumbnail and clicking into it. If I download the picture I can open it and view it locally on my Pixel 8 Pro and my PC. Clearing phone cache didn't even help temporarily as someone mentioned it did for them.

I'm attaching a pic from the wifes phone I just took of a place mat that shows up this way if any devs want to try uploading and view the issue.

@rsmanning commented on GitHub (Jan 11, 2026): ![Image](https://github.com/user-attachments/assets/3a43d127-7796-4d97-a0b7-800c64b5bc5f) Confirming as well. Wife has a Pixel 10 Pro and any picture taken on it comes up as black on my phone and web browser on PC it says "Error loading image" for both thumbnail and clicking into it. If I download the picture I can open it and view it locally on my Pixel 8 Pro and my PC. Clearing phone cache didn't even help temporarily as someone mentioned it did for them. I'm attaching a pic from the wifes phone I just took of a place mat that shows up this way if any devs want to try uploading and view the issue.
Author
Owner

@rsmanning commented on GitHub (Jan 21, 2026):

Image

Immich Server v2.4.1

@rsmanning commented on GitHub (Jan 21, 2026): <img width="1335" height="581" alt="Image" src="https://github.com/user-attachments/assets/ea51dc29-7836-4f0c-a0a4-6eed77f97e02" /> Immich Server v2.4.1
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#7053