Skip to content

Blurry images and thumbnails on ios app #26873

Description

@Hritik14

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

  • Yes

The bug

This is similar to #25711 except that I'm not user mTLS (direct connection over LAN wifi),

I'm getting plenty of following errors in logs:

2026-03-12 18:13:54.416475 | severe   | ThumbnailWidget      | Error loading image: PlatformException(, Failed to decode image for request, null, null) | PlatformException(, Failed to decode image for request, null, null) |
#0      RemoteImageApi.requestImage (package:immich_mobile/platform/remote_image_api.g.dart:69)
<asynchronous suspension>
#1      RemoteImageRequest.load (package:immich_mobile/infrastructure/loaders/remote_image_request.dart:15)
<asynchronous suspension>
#2      CancellableImageProviderMixin.loadRequest (package:immich_mobile/presentation/widgets/images/image_provider.dart:59)
<asynchronous suspension>
#3      new OneFramePlaceholderImageStreamCompleter.<anonymous closure> (package:immich_mobile/presentation/widgets/images/one_frame_multi_image_stream_completer.dart:33)
<asynchronous suspension>

I've tried enabling and disabling Load preview image and Load original image but to effect. I also ried prefer remote images but backed up images are still blurry. Images stored on my device show just fine.

Old timeline shows an exclamation mark on blurry images hinting something is wrong but the new timeline only shows the blurry images without any visible error.

Image Image Image

My app version is 2.5.6

Image

The OS that Immich Server is running on

Arch

Version of Immich Server

v2.5.6

Version of Immich Mobile App

256 build.246

Platform with the issue

  • Server
  • Web
  • Mobile

Device make and model

iOS 26.2.1

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:
      - ./mounts/drive1/immich:/data:rw
      - /home/hritik/immich/thumbs_local/:/data/thumbs:rw # thumbs on ssd
      - ./mounts/:/home/user/drive:ro
      - ./empty:/home/user/drive/drive1/immich # ensure uploads don't go to external lib, NOTE: Do this in webui too at library -> exclude imports
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    ports:
      - '2283:2283'
    depends_on:
      - redis
      - database
    restart: no
    healthcheck:
      disable: false

  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
    healthcheck:
      disable: false

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

  database:
    container_name: immich_postgres
    image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:32324a2f41df5de9efe1af166b7008c3f55646f8d0e00d9550c16c9822366b4a
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: '--data-checksums'
    volumes:
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    shm_size: 128mb
    restart: always

volumes:
  model-cache:

Your .env content

DB_DATA_LOCATION=/home/hritik/immich/postgres

# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
TZ=Asia/Kolkata

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

# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=redacted

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

Reproduction steps

  1. Open immich on ios app
  2. Images not present on phone and only present on immich server render blurry thumbnails

It works just fine on webui.

Relevant log output

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions