[BUG] hidden faces no longer shown to unhide? #1269

Closed
opened 2026-02-05 01:05:14 +03:00 by OVERLORD · 16 comments
Owner

Originally created by @mtettke123 on GitHub (Aug 22, 2023).

The bug

While face recognition worked perfect in the past, I have some photos in the last time, where only a.e. one out of three faces is recognized - although all a clearly visible. While looking at this, I thought they could maybe not be shown because they are matched to a hidden face (any way to check this?) - but, all as "hidden" marked faced do no longer show up (even if I click "show/hide"), so I can't even try to test if this happens because of a match to a hidden face.

btw: first started as discussion here.

The OS that Immich Server is running on

docker

Version of Immich Server

v1.74.0

Version of Immich Mobile App

v1.74.0 build 97

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:release
    command: [ "start.sh", "immich" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
    env_file:
      - stack.env
    depends_on:
      - redis
      - database
      - typesense
    restart: unless-stopped

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:release
    command: [ "start.sh", "microservices" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
    env_file:
      - stack.env
    depends_on:
      - redis
      - database
      - typesense
    restart: unless-stopped

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:release
    volumes:
      - model-cache:/cache
    env_file:
      - stack.env
    restart: unless-stopped

  immich-web:
    container_name: immich_web
    image: ghcr.io/immich-app/immich-web:release
    env_file:
      - stack.env
    restart: unless-stopped

  typesense:
    container_name: immich_typesense
    image: typesense/typesense:0.24.1
    environment:
      - TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
      - TYPESENSE_DATA_DIR=/data
    #logging:
    #  driver: none
    volumes:
      - tsdata:/data
    restart: unless-stopped

  redis:
    container_name: immich_redis
    image: redis:6.2
    restart: unless-stopped

  database:
    container_name: immich_postgres
    image: postgres:14
    env_file:
      - stack.env
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      PG_DATA: /var/lib/postgresql/data
    volumes:
      - pgdata:/var/lib/postgresql/data
    restart: unless-stopped

  immich-proxy:
    container_name: immich_proxy
    image: ghcr.io/immich-app/immich-proxy:release
    environment:
      # Make sure these values get passed through from the env file
      - IMMICH_SERVER_URL
      - IMMICH_WEB_URL
#    ports:
#      - 2283:8080
    networks:
      - default
      - npm_proxynet
    depends_on:
      - immich-server
      - immich-web
    restart: unless-stopped

networks:
  npm_proxynet:
    external: true
    
volumes:
  pgdata:
  model-cache:
  tsdata:

Your .env content

DB_HOSTNAME=immich_postgres
DB_USERNAME=...
DB_PASSWORD=...
DB_DATABASE_NAME=immich
REDIS_HOSTNAME=immich_redis
UPLOAD_LOCATION=/data/immich/
TYPESENSE_API_KEY=...
PUBLIC_LOGIN_PAGE_MESSAGE=
IMMICH_WEB_URL=http://immich-web:3000
IMMICH_SERVER_URL=http://immich-server:3001
IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003

Reproduction steps

unsure!

Additional information

No response

Originally created by @mtettke123 on GitHub (Aug 22, 2023). ### The bug While face recognition worked perfect in the past, I have some photos in the last time, where only a.e. one out of three faces is recognized - although all a clearly visible. While looking at this, I thought they could maybe not be shown because they are matched to a hidden face (any way to check this?) - but, all as "hidden" marked faced do no longer show up (even if I click "show/hide"), so I can't even try to test if this happens because of a match to a hidden face. btw: first started as discussion [here](https://github.com/immich-app/immich/discussions/3760). ### The OS that Immich Server is running on docker ### Version of Immich Server v1.74.0 ### Version of Immich Mobile App v1.74.0 build 97 ### Platform with the issue - [X] Server - [X] Web - [ ] Mobile ### Your docker-compose.yml content ```YAML version: "3.8" services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:release command: [ "start.sh", "immich" ] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload env_file: - stack.env depends_on: - redis - database - typesense restart: unless-stopped immich-microservices: container_name: immich_microservices image: ghcr.io/immich-app/immich-server:release command: [ "start.sh", "microservices" ] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload env_file: - stack.env depends_on: - redis - database - typesense restart: unless-stopped immich-machine-learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:release volumes: - model-cache:/cache env_file: - stack.env restart: unless-stopped immich-web: container_name: immich_web image: ghcr.io/immich-app/immich-web:release env_file: - stack.env restart: unless-stopped typesense: container_name: immich_typesense image: typesense/typesense:0.24.1 environment: - TYPESENSE_API_KEY=${TYPESENSE_API_KEY} - TYPESENSE_DATA_DIR=/data #logging: # driver: none volumes: - tsdata:/data restart: unless-stopped redis: container_name: immich_redis image: redis:6.2 restart: unless-stopped database: container_name: immich_postgres image: postgres:14 env_file: - stack.env environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} PG_DATA: /var/lib/postgresql/data volumes: - pgdata:/var/lib/postgresql/data restart: unless-stopped immich-proxy: container_name: immich_proxy image: ghcr.io/immich-app/immich-proxy:release environment: # Make sure these values get passed through from the env file - IMMICH_SERVER_URL - IMMICH_WEB_URL # ports: # - 2283:8080 networks: - default - npm_proxynet depends_on: - immich-server - immich-web restart: unless-stopped networks: npm_proxynet: external: true volumes: pgdata: model-cache: tsdata: ``` ### Your .env content ```Shell DB_HOSTNAME=immich_postgres DB_USERNAME=... DB_PASSWORD=... DB_DATABASE_NAME=immich REDIS_HOSTNAME=immich_redis UPLOAD_LOCATION=/data/immich/ TYPESENSE_API_KEY=... PUBLIC_LOGIN_PAGE_MESSAGE= IMMICH_WEB_URL=http://immich-web:3000 IMMICH_SERVER_URL=http://immich-server:3001 IMMICH_MACHINE_LEARNING_URL=http://immich-machine-learning:3003 ``` ### Reproduction steps ```bash unsure! ``` ### Additional information _No response_
Author
Owner

@martabal commented on GitHub (Aug 22, 2023):

Do you have more than 500 faces ?

@martabal commented on GitHub (Aug 22, 2023): Do you have more than 500 faces ?
Author
Owner

@mtettke123 commented on GitHub (Aug 22, 2023):

Do you have more than 500 faces ?

Good hint. Seems to be cut at 500 faces.

@mtettke123 commented on GitHub (Aug 22, 2023): > Do you have more than 500 faces ? Good hint. Seems to be cut at 500 faces.
Author
Owner

@martabal commented on GitHub (Aug 22, 2023):

Currently, we limit the number of people we fetch to optimize the performances. Your issue will be solved when #4 on this list #2472 will be completed

@martabal commented on GitHub (Aug 22, 2023): Currently, we limit the number of people we fetch to optimize the performances. Your issue will be solved when `#4` on this list #2472 will be completed
Author
Owner

@mtettke123 commented on GitHub (Aug 24, 2023):

ok, I see.
But is there any way to see if a face was detected in a picture that is marked as hidden or if it just failed to detect a face?

@mtettke123 commented on GitHub (Aug 24, 2023): ok, I see. But is there any way to see if a face was detected in a picture that is marked as hidden or if it just failed to detect a face?
Author
Owner

@martabal commented on GitHub (Aug 24, 2023):

By default new faces are visible. If you want to be sure, you have to check in the database if the face is hidden or not

@martabal commented on GitHub (Aug 24, 2023): By default new faces are visible. If you want to be sure, you have to check in the database if the face is hidden or not
Author
Owner

@mtettke123 commented on GitHub (Aug 24, 2023):

Yeah - but what is, if a face from a new picture is matched to a hidden face (by accident) - can I detect this somehow? For me, this seems to be the most plausible reason why faces don't show up anymore...

@mtettke123 commented on GitHub (Aug 24, 2023): Yeah - but what is, if a face from a new picture is matched to a hidden face (by accident) - can I detect this somehow? For me, this seems to be the most plausible reason why faces don't show up anymore...
Author
Owner

@martabal commented on GitHub (Aug 24, 2023):

Unfortunately, no

@martabal commented on GitHub (Aug 24, 2023): Unfortunately, no
Author
Owner

@ehussong commented on GitHub (Sep 5, 2023):

I'm unsure if this is the same bug being described here, or a new one. I do notice that for faces that I've hidden previously I am no longer able to see them in the interface to unhide them. Explore -> View All -> Show/Hide Faces only displays the faces that are currently unhidden and the "Reset Faces Visibility" appears to do nothing.

Tried on both Firefox and Edge with the same results.

@ehussong commented on GitHub (Sep 5, 2023): I'm unsure if this is the same bug being described here, or a new one. I do notice that for faces that I've hidden previously I am no longer able to see them in the interface to unhide them. Explore -> View All -> Show/Hide Faces only displays the faces that are currently unhidden and the "Reset Faces Visibility" appears to do nothing. Tried on both Firefox and Edge with the same results.
Author
Owner

@martabal commented on GitHub (Sep 5, 2023):

I'm unsure if this is the same bug being described here, or a new one. I do notice that for faces that I've hidden previously I am no longer able to see them in the interface to unhide them. Explore -> View All -> Show/Hide Faces only displays the faces that are currently unhidden and the "Reset Faces Visibility" appears to do nothing.

Tried on both Firefox and Edge with the same results.

Yes it is the same bug

@martabal commented on GitHub (Sep 5, 2023): > I'm unsure if this is the same bug being described here, or a new one. I do notice that for faces that I've hidden previously I am no longer able to see them in the interface to unhide them. Explore -> View All -> Show/Hide Faces only displays the faces that are currently unhidden and the "Reset Faces Visibility" appears to do nothing. > > > > Tried on both Firefox and Edge with the same results. Yes it is the same bug
Author
Owner

@mtettke123 commented on GitHub (Sep 6, 2023):

I've tried to disable all hidden faces (via UPDATE directly in postgres) - for me, nothing changed. Many faces are still not shown at all. Very strange.

@mtettke123 commented on GitHub (Sep 6, 2023): I've tried to disable all hidden faces (via UPDATE directly in postgres) - for me, nothing changed. Many faces are still not shown at all. Very strange.
Author
Owner

@martabal commented on GitHub (Sep 6, 2023):

Can you share your SQL query ?

@martabal commented on GitHub (Sep 6, 2023): Can you share your SQL query ?
Author
Owner

@mtettke123 commented on GitHub (Sep 6, 2023):

of course.
Connect to docker container:
docker exec -ti immich_postgres /bin/bash
in the container connect to postgres:
root@b05fdcf44650:/# psql -U postgres
select the database:
postgres=# \c immich
and update:
immich=# UPDATE person SET "isHidden" = false WHERE "isHidden" = true;

@mtettke123 commented on GitHub (Sep 6, 2023): of course. Connect to docker container: `docker exec -ti immich_postgres /bin/bash` in the container connect to postgres: `root@b05fdcf44650:/# psql -U postgres` select the database: `postgres=# \c immich` and update: `immich=# UPDATE person SET "isHidden" = false WHERE "isHidden" = true;`
Author
Owner

@martabal commented on GitHub (Sep 6, 2023):

With your query, there's no hidden faces, so every faces are sorted by the number of times each face appears in your assets. If you have a lot more than 500 faces, people who appear few times are not displayed. Here are the rules to sort people :

people unhidden > people hidden

For both :

people with a name > people without a name

And then

people which appear more > people which appear less

You can find an example here : #3713

@martabal commented on GitHub (Sep 6, 2023): With your query, there's no hidden faces, so every faces are sorted by the number of times each face appears in your assets. If you have a lot more than 500 faces, people who appear few times are not displayed. Here are the rules to sort people : people unhidden > people hidden For both : people with a name > people without a name And then people which appear more > people which appear less You can find an example here : #3713
Author
Owner

@Konrni commented on GitHub (Oct 14, 2023):

is it intended behavior to remove the "name" if "isHidden" gets set?

(At least this happend to me on v1.81.1)

If it is intended, i would vote for it's removal with PR for #4 on this list https://github.com/immich-app/immich/discussions/2472

@Konrni commented on GitHub (Oct 14, 2023): is it intended behavior to remove the "name" if "isHidden" gets set? (At least this happend to me on v1.81.1) If it is intended, i would vote for it's removal with PR for #4 on this list https://github.com/immich-app/immich/discussions/2472
Author
Owner

@martabal commented on GitHub (Oct 14, 2023):

The name is not removed when the person is hidden

@martabal commented on GitHub (Oct 14, 2023): The name is not removed when the person is hidden
Author
Owner

@Konrni commented on GitHub (Oct 15, 2023):

The name is not removed when the person is hidden

thanks for clarification. :)

As this happed to me ~25 minutes ago, i assume it is an error which has something to do with a merged person or maybe an old opened tab.
If i can reproduce this, i will open a separate ticket. If not it's just a one time hickup in my setup.

@Konrni commented on GitHub (Oct 15, 2023): > The name is not removed when the person is hidden thanks for clarification. :) As this happed to me ~25 minutes ago, i assume it is an error which has something to do with a merged person or maybe an old opened tab. If i can reproduce this, i will open a separate ticket. If not it's just a one time hickup in my setup.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#1269