[BUG] Merge People from the people page/grid successfully merges, but loses name and thumbnail #1803

Closed
opened 2026-02-05 03:55:55 +03:00 by OVERLORD · 6 comments
Owner

Originally created by @korikori on GitHub (Dec 16, 2023).

The bug

At the /people page, when using Merge People on an unnamed person in order to merge with an existing, named one, the merge is successful, but it loses the name (the merged entity is now merged but unnamed). It also has the additional unexpected effect of replacing the original (named) person's thumbnail to that of the unnamed person.

However, if I first click on the unnamed person and then merge them from their page (by typing an existing name in the Name text field and clicking on the proper person), the merge preserves both the name and the thumbnail of the original named person, which is probably the expected behavior here.

The OS that Immich Server is running on

Ubuntu 23.10

Version of Immich Server

v1.91.1

Version of Immich Mobile App

v1.91.1

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

version: "3.8"

#
# 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}
    command: [ "start.sh", "immich" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    ports:
      - 2283:3001
    depends_on:
      - redis
      - database
    restart: always

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    # extends:
    #   file: hwaccel.yml
    #   service: hwaccel
    command: [ "start.sh", "microservices" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    depends_on:
      - redis
      - database
    restart: always

  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

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

  database:
    container_name: immich_postgres
    image: tensorchord/pgvecto-rs:pg14-v0.1.11@sha256:0335a1a22f8c5dd1b697f14f079934f5152eaaa216c09b61e293be285491f8ee
    env_file:
      - .env
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
    volumes:
      - pgdata:/var/lib/postgresql/data
    restart: always

volumes:
  pgdata:
  model-cache:

Your .env content

no additional .env contents

Reproduction steps

1. Navigate to the /people page
2. Select an unnamed entity
3. Click the top-right menu, then Merge People
4. Select a named entity, then click Merge

Additional information

No response

Originally created by @korikori on GitHub (Dec 16, 2023). ### The bug At the /people page, when using Merge People on an unnamed person in order to merge with an existing, named one, the merge is successful, but it loses the name (the merged entity is now merged but unnamed). It also has the additional unexpected effect of replacing the original (named) person's thumbnail to that of the unnamed person. However, if I first click on the unnamed person and then merge them from their page (by typing an existing name in the Name text field and clicking on the proper person), the merge preserves both the name and the thumbnail of the original named person, which is probably the expected behavior here. ### The OS that Immich Server is running on Ubuntu 23.10 ### Version of Immich Server v1.91.1 ### Version of Immich Mobile App v1.91.1 ### Platform with the issue - [ ] Server - [X] Web - [ ] Mobile ### Your docker-compose.yml content ```YAML version: "3.8" # # 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} command: [ "start.sh", "immich" ] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro env_file: - .env ports: - 2283:3001 depends_on: - redis - database restart: always immich-microservices: container_name: immich_microservices image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} # extends: # file: hwaccel.yml # service: hwaccel command: [ "start.sh", "microservices" ] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro env_file: - .env depends_on: - redis - database restart: always 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 redis: container_name: immich_redis image: redis:6.2-alpine@sha256:b6124ab2e45cc332e16398022a411d7e37181f21ff7874835e0180f56a09e82a restart: always database: container_name: immich_postgres image: tensorchord/pgvecto-rs:pg14-v0.1.11@sha256:0335a1a22f8c5dd1b697f14f079934f5152eaaa216c09b61e293be285491f8ee env_file: - .env environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} volumes: - pgdata:/var/lib/postgresql/data restart: always volumes: pgdata: model-cache: ``` ### Your .env content ```Shell no additional .env contents ``` ### Reproduction steps ```bash 1. Navigate to the /people page 2. Select an unnamed entity 3. Click the top-right menu, then Merge People 4. Select a named entity, then click Merge ``` ### Additional information _No response_
Author
Owner

@alextran1502 commented on GitHub (Dec 16, 2023):

You are merging into an unnamed entity, so basically, the unnamed entity is now the "primary". The rule of thumb is that the right hand side is the dominant entity, which the name and thumbnail will represent the person after the merge process

@alextran1502 commented on GitHub (Dec 16, 2023): You are merging into an unnamed entity, so basically, the unnamed entity is now the "primary". The rule of thumb is that the right hand side is the dominant entity, which the name and thumbnail will represent the person after the merge process
Author
Owner

@korikori commented on GitHub (Dec 16, 2023):

OH so I can click the little switch button under to reverse them. Thank you for that information! I guess not a bug then, but I would argue that this behavior is un-intuitive.

@korikori commented on GitHub (Dec 16, 2023): OH so I can click the little switch button under to reverse them. Thank you for that information! I guess not a bug then, but I would argue that this behavior is un-intuitive.
Author
Owner

@alextran1502 commented on GitHub (Dec 16, 2023):

@korikori Do you have any suggestion that can help us to improve this aspect to avoid user's confusion?

@alextran1502 commented on GitHub (Dec 16, 2023): @korikori Do you have any suggestion that can help us to improve this aspect to avoid user's confusion?
Author
Owner

@korikori commented on GitHub (Dec 16, 2023):

It's very possible that I am wrong here, but I don't see the use case of merging an existing named entity into an unnamed one. At least the way I use the /people grid is to scroll down to the unnamed people and name, merge or hide them in order; if I see someone that can be merged, I click on the unnamed entity and type in the person's name or select them from a list, not the other way around.

So assuming that this is standard behavior on that page, whenever a merge is between one named and one unnamed entity, my expectation would be that the named one would be chosen as "primary" by default. The user can apparently still reverse the two entities as you've shown me, so if they have a non-standard (*) need to merge into an unnamed entity, they can still do so.

@korikori commented on GitHub (Dec 16, 2023): It's very possible that I am wrong here, but I don't see the use case of merging an existing named entity into an unnamed one. At least the way I use the /people grid is to scroll down to the unnamed people and name, merge or hide them in order; if I see someone that can be merged, I click on the unnamed entity and type in the person's name or select them from a list, not the other way around. So assuming that this is standard behavior on that page, whenever a merge is between one named and one unnamed entity, my expectation would be that the named one would be chosen as "primary" by default. The user can apparently still reverse the two entities as you've shown me, so if they have a non-standard (*) need to merge into an unnamed entity, they can still do so.
Author
Owner

@alextran1502 commented on GitHub (Dec 17, 2023):

Thank you for your feedback, cc: @martabal FYI

@alextran1502 commented on GitHub (Dec 17, 2023): Thank you for your feedback, cc: @martabal FYI
Author
Owner

@korikori commented on GitHub (Sep 26, 2024):

Fixed by https://github.com/immich-app/immich/pull/12601 ftr

@korikori commented on GitHub (Sep 26, 2024): Fixed by https://github.com/immich-app/immich/pull/12601 ftr
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#1803