Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Selecting multiple people on mobile search returns random photos #15769

Closed
1 of 3 tasks
jforseth210 opened this issue Jan 29, 2025 · 2 comments · Fixed by #15804
Closed
1 of 3 tasks

Selecting multiple people on mobile search returns random photos #15769

jforseth210 opened this issue Jan 29, 2025 · 2 comments · Fixed by #15804

Comments

@jforseth210
Copy link
Contributor

The bug

When searching for multiple people on the Immich mobile app, selecting multiple people returns photos that include all of the people selected.

However, if people who don't appear in any photos together, the search results include apparently random results, including photos with no faces, photos with the faces selected, and photos faces besides the ones selected.

On the web app, it displays a "no results" message:
Image

I found #15073, but I think that's a different issue.

The OS that Immich Server is running on

Ubuntu 24.04

Version of Immich Server

1.125.6

Version of Immich Mobile App

1.125.5

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

# 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: 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:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
      - /home/REDACTED/Pictures:/mnt/media/REDACTED
      - /run/media/REDACTED:/mnt/media/REDACTED
      - desktop_uploads:/usr/src/app/upload/library/REDACTED
      - desktop_all_pictures:/mnt/media/REDACTED_desktop_pictures
      - desktop_all_videos:/mnt/media/REDACTED_desktop_videos
    env_file:
      - .env
    ports
      - 2283:2283
    depends_on:
      - redis
      - database
    restart: always
      #deploy: 
      #resources: 
      #limits:
      #cpus: '0.2'
  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
      #deploy: 
      #resources: 
      #  limits:
      #    cpus: '0.01'
  redis:
    container_name: immich_redis
    image: docker.io/redis:6.2-alpine@sha256:328fe6a5822256d065debb36617a8169dbfbd77b797c525288e465f56c1d392b
    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
    ports:
      - 5432:5432
    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
    healthcheck:
      test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' ||
        exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}'
        --username='${DB_USERNAME}' --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
      #deploy: 
      #resources: 
      #  limits:
      #    cpus: '0.2'
      #
volumes:
  model-cache: null
  desktop_all_pictures:
    driver_opts:
      type: cifs
      o: REDACTED
      device: REDACTED
  desktop_all_videos:
    driver_opts:
      type: cifs
      o: REDACTED
      device: REDACTED
  desktop_uploads:
    driver_opts:
      type: cifs
      o: REDACTED
      device: REDACTED
networks: {}

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=./library
# The location where your database files are stored
DB_DATA_LOCATION=./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=America/Denver

# 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
DB_PASSWORD=REDACTED

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

Reproduction steps

  1. Tag some faces
  2. In the mobile app, select 2 or more people who don't appear in any photos together

Relevant log output

Additional information

I know my docker-compose.yml is weird and probably causing all kinds of problems. I'm pretty sure it isn't causing this problem though

@jforseth210 jforseth210 changed the title Selecting multiple people on mobile search returns random faces Selecting multiple people on mobile search returns random photos Jan 29, 2025
@jrasm91
Copy link
Contributor

jrasm91 commented Jan 29, 2025

It looks like any search that results in 0 results, leads to the mobile app showing "all assets". It's probably easiest to trigger this condition by selecting lots of people.

@syperium
Copy link

I experienced the same behaviour when selecting a date range that normally shouldn't return any images (see comment on #15700).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants