[BUG] Android: "Load orignal Image" option loads wrong image on faces gallery #1498

Closed
opened 2026-02-05 02:05:06 +03:00 by OVERLORD · 5 comments
Owner

Originally created by @jimmyhiggs337 on GitHub (Oct 23, 2023).

Originally assigned to: @shenlong-tanwen on GitHub.

The bug

On Android, if "Load Original Image" option is enabled, in a selected face's gallery, only the first image selected will load, any image selected after that will only load the first image selected

Process to recreated bug:

  • Open Android app
  • Enable "Load Original Image"
  • Go to search page
  • Select a face from the "People" list
  • Click on photo
  • Then select another photo

Expected Outcome:

  • First photo loads
  • Then second selected photo loads

Actual Outcome:

  • First photo loads
  • First photo shows again and for any other subsequent photo selected

The OS that Immich Server is running on

Run through Portainer on Ubuntu VM on Proxmox

Version of Immich Server

v1.82.1

Version of Immich Mobile App

1.82.0

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

version: "3.8"

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
      - /etc/localtime:/etc/localtime:ro
      - photolib:${PHOTOPATH}:ro
    env_file:
      - stack.env
    depends_on:
      - redis
      - database
      - typesense
    restart: always

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    environment:
      - NVIDIA_DRIVER_CAPABILITIES=all # If using NVIDIA GPU
    command: ["start.sh", "microservices"]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
      - photolib:${PHOTOPATH}:ro
    env_file:
      - stack.env
    depends_on:
      - redis
      - database
      - typesense
    restart: always
    deploy: # Uncomment this section if using NVIDIA GPU
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu,video]

  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:
      - stack.env
    restart: always

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

  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

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

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

  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

volumes:
  pgdata: 
      driver: local
      driver_opts:
         type: none
         o: bind
         device: REDACTED
  model-cache: 
      driver: local
      driver_opts:
         type: none
         o: bind
         device: REDACTED
  tsdata: 
      driver: local
      driver_opts:
         type: none
         o: bind
         device: REDACTED
  photolib:
      driver: local
      driver_opts:
         type: none
         o: bind
         device: REDACTED

Your .env content

UPLOAD_LOCATION=REDACTED
DB_HOSTNAME=immich_postgres
DB_USERNAME=postgres
DB_PASSWORD=REDACTED
DB_DATABASE_NAME=immich
REDIS_HOSTNAME=immich_redis
LOG_LEVEL=simple
TYPESENSE_API_KEY=REDACTED
IMMICH_WEB_URL=http://immich-web:3000
IMMICH_SERVER_URL=http://immich-server:3001
IMMICH_VERSION=v1.82.1
IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003
PHOTOPATH=/mnt/Media

Reproduction steps

1. Open Android app
2. Enable "Load Original Image" 
3. Go to search page
4. Select a face from the "People" list
5. Click on photo
6. Then select another photo

Additional information

This has been occurring at least since v1.81.1 which is when I started using Immich

When an second image is selected, the image metadata is correct in the "i" menu, but the image displayed is not.
It also downloads the correct image if I select the download button.

Android Version: 13
Phone: Asus Zenfone 9

logs from app:
Load assets: 146ms
flushing 1 packets in socket
socket receive: type "ping", data "null"
flushing 1 packets in socket

Originally created by @jimmyhiggs337 on GitHub (Oct 23, 2023). Originally assigned to: @shenlong-tanwen on GitHub. ### The bug On Android, if "Load Original Image" option is enabled, in a selected face's gallery, only the first image selected will load, any image selected after that will only load the first image selected **Process to recreated bug:** - Open Android app - Enable "Load Original Image" - Go to search page - Select a face from the "People" list - Click on photo - Then select another photo **Expected Outcome:** - First photo loads - Then second selected photo loads **Actual Outcome:** - First photo loads - First photo shows again and for any other subsequent photo selected ### The OS that Immich Server is running on Run through Portainer on Ubuntu VM on Proxmox ### Version of Immich Server v1.82.1 ### Version of Immich Mobile App 1.82.0 ### Platform with the issue - [ ] Server - [ ] Web - [X] Mobile ### Your docker-compose.yml content ```YAML version: "3.8" 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 - /etc/localtime:/etc/localtime:ro - photolib:${PHOTOPATH}:ro env_file: - stack.env depends_on: - redis - database - typesense restart: always immich-microservices: container_name: immich_microservices image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} environment: - NVIDIA_DRIVER_CAPABILITIES=all # If using NVIDIA GPU command: ["start.sh", "microservices"] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro - photolib:${PHOTOPATH}:ro env_file: - stack.env depends_on: - redis - database - typesense restart: always deploy: # Uncomment this section if using NVIDIA GPU resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu,video] 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: - stack.env restart: always immich-web: container_name: immich_web image: ghcr.io/immich-app/immich-web:${IMMICH_VERSION:-release} env_file: - stack.env restart: always 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 redis: container_name: immich_redis image: redis:6.2-alpine@sha256:70a7a5b641117670beae0d80658430853896b5ef269ccf00d1827427e3263fa3 restart: always database: container_name: immich_postgres image: postgres:14-alpine@sha256:28407a9961e76f2d285dc6991e8e48893503cc3836a4755bbc2d40bcc272a441 env_file: - stack.env environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} volumes: - pgdata:/var/lib/postgresql/data restart: always 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 volumes: pgdata: driver: local driver_opts: type: none o: bind device: REDACTED model-cache: driver: local driver_opts: type: none o: bind device: REDACTED tsdata: driver: local driver_opts: type: none o: bind device: REDACTED photolib: driver: local driver_opts: type: none o: bind device: REDACTED ``` ### Your .env content ```Shell UPLOAD_LOCATION=REDACTED DB_HOSTNAME=immich_postgres DB_USERNAME=postgres DB_PASSWORD=REDACTED DB_DATABASE_NAME=immich REDIS_HOSTNAME=immich_redis LOG_LEVEL=simple TYPESENSE_API_KEY=REDACTED IMMICH_WEB_URL=http://immich-web:3000 IMMICH_SERVER_URL=http://immich-server:3001 IMMICH_VERSION=v1.82.1 IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003 PHOTOPATH=/mnt/Media ``` ### Reproduction steps ```bash 1. Open Android app 2. Enable "Load Original Image" 3. Go to search page 4. Select a face from the "People" list 5. Click on photo 6. Then select another photo ``` ### Additional information This has been occurring at least since v1.81.1 which is when I started using Immich When an second image is selected, the image metadata is correct in the "i" menu, but the image displayed is not. It also downloads the correct image if I select the download button. Android Version: 13 Phone: Asus Zenfone 9 logs from app: Load assets: 146ms flushing 1 packets in socket socket receive: type "ping", data "null" flushing 1 packets in socket
OVERLORD added the 📱mobile label 2026-02-05 02:05:06 +03:00
Author
Owner

@nibblerrick commented on GitHub (Oct 23, 2023):

Same on IOS.

@nibblerrick commented on GitHub (Oct 23, 2023): Same on IOS.
Author
Owner

@shenlong-tanwen commented on GitHub (Oct 24, 2023):

Can you reproduce it in the demo instance as well? I tried following the same steps from your description:

  1. Freshly installed the latest version
  2. Signed in into the demo instance
  3. Enabled load original image and left the other settings as the default values
  4. Opened search page and opened the first person
  5. Opened the first asset of the person, came back and opened the second asset

And the images loaded properly

@shenlong-tanwen commented on GitHub (Oct 24, 2023): Can you reproduce it in the demo instance as well? I tried following the same steps from your description: 1. Freshly installed the latest version 2. Signed in into the demo instance 3. Enabled load original image and left the other settings as the default values 4. Opened search page and opened the first person 5. Opened the first asset of the person, came back and opened the second asset And the images loaded properly
Author
Owner

@jimmyhiggs337 commented on GitHub (Oct 24, 2023):

Yes, exact same behavior in the demo. In fact until I clear the app cache it was showing my last clicked photo from my account. Once I cleared the cache it showed the first photo I clicked in the demo environment.

So it seems like it's not clearing or referencing the cache correctly, or not loading the next photo into the cache correctly.

@jimmyhiggs337 commented on GitHub (Oct 24, 2023): Yes, exact same behavior in the demo. In fact until I clear the app cache it was showing my last clicked photo from my account. Once I cleared the cache it showed the first photo I clicked in the demo environment. So it seems like it's not clearing or referencing the cache correctly, or not loading the next photo into the cache correctly.
Author
Owner

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

@jimmyhiggs337 Can you please check if the issue is reproducing in the latest version of the app as well? Specifically, 1.83.0

@shenlong-tanwen commented on GitHub (Oct 29, 2023): @jimmyhiggs337 Can you please check if the issue is reproducing in the latest version of the app as well? Specifically, 1.83.0
Author
Owner

@jimmyhiggs337 commented on GitHub (Oct 29, 2023):

@jimmyhiggs337 Can you please check if the issue is reproducing in the latest version of the app as well? Specifically, 1.83.0

Yes same behavior with a fresh install of 1.83.0 of the app

@jimmyhiggs337 commented on GitHub (Oct 29, 2023): > @jimmyhiggs337 Can you please check if the issue is reproducing in the latest version of the app as well? Specifically, 1.83.0 Yes same behavior with a fresh install of 1.83.0 of the app
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#1498