[BUG] Creating an Album from within an Album and removing the pictures from the 1st Album, removes them from the 2nd. #1766

Closed
opened 2026-02-05 03:39:25 +03:00 by OVERLORD · 2 comments
Owner

Originally created by @kladderadeng on GitHub (Dec 11, 2023).

The bug

When using the Web interface, in the process to clean up my Albums, I went into an Album, selected a bunch of pictures and created a new Album for them. Immediately after, I removed the said pictures from the current Album. After switching back to the Albums overview I have seen that the pictures are still in the original Album, but missing from the new one.

The OS that Immich Server is running on

Ubuntu 22.10 LTS

Version of Immich Server

v.190.2

Version of Immich Mobile App

n/a

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}
    user: "${PUID}:${PGID}"
    command: [ "start.sh", "immich" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
      - /media/my/pictures:/media/my/pictures:ro
    env_file:
      - .env
    #ports:
      #- 2283:3001
    depends_on:
      - redis
      - database
      - typesense
    restart: always
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
      - "traefik.enable=true"
      - "traefik.publish=lan"
      - "traefik.http.routers.immich.entrypoints=https"
      - "traefik.http.routers.immich.rule=Host(`immich.mydomain.tld`)"
      - "traefik.http.routers.immich.tls=true"
      - "traefik.http.routers.immich.tls.certresolver=letsencrypt"
      - "traefik.http.routers.immich.middlewares=default@file"
      - "traefik.http.routers.immich.service=immich"
      - "traefik.http.services.immich.loadbalancer.server.port=3001"
      - "traefik.docker.network=docker_trusted"
    networks:
      - docker_trusted

  immich-microservices:
    container_name: immich-microservices
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    user: "${PUID}:${PGID}"
    extends:
      file: hwaccel.yml
      service: hwaccel
    command: [ "start.sh", "microservices" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
      - /opt/immich/reverse-geocoding-dump:/usr/src/app/.reverse-geocoding-dump
      - /media/my/pictures:/media/my/pictures:ro
    env_file:
      - .env
    depends_on:
      - redis
      - database
      - typesense
    restart: always
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    networks:
      - docker_trusted

  immich-machine-learning:
    container_name: immich-machine-learning
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    user: "${PUID}:${PGID}"
    volumes:
      - /opt/immich/ml-cache:/cache
    env_file:
      - .env
    restart: always
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    networks:
      - docker_trusted

  typesense:
    container_name: immich-typesense
    image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd
    user: "${PUID}:${PGID}"
    environment:
      - TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
      - TYPESENSE_DATA_DIR=/data
      # remove this to get debug messages
      - GLOG_minloglevel=1
    volumes:
      - /opt/immich/tsdata:/data
    restart: always
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    networks:
      - docker_trusted

  redis:
    container_name: immich-redis
    image: redis:6.2-alpine@sha256:60e49e22fa5706cd8df7d5e0bc50ee9bab7c608039fa653c4d961014237cca46
    restart: always
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    networks:
      - docker_trusted

  database:
    container_name: immich-postgres
    image: postgres:14-alpine@sha256:6a0e35296341e676fe6bd8d236c72afffe2dfe3d7eb9c2405c0f3fc04500cd07
    env_file:
      - .env
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
    volumes:
      - /opt/immich/pgdata:/var/lib/postgresql/data
    restart: always
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    networks:
      - docker_trusted

  backup:
    container_name: immich-db-dumper
    image: prodrigestivill/postgres-backup-local
    user: 70:1000
    env_file:
      - .env
    environment:
      POSTGRES_HOST: ${DB_HOSTNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      SCHEDULE: "30 23 0 * * *"
      BACKUP_NUM_KEEP: 7
      BACKUP_DIR: /db_dumps
      TZ: "Europe/Berlin"
    volumes:
      - /opt/immich/db_dumps:/db_dumps
    depends_on:
      - database
    networks:
      - docker_trusted

networks:
  docker_trusted:
    name: docker_trusted
    external: true

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=/opt/immich/library

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

# Connection secrets for postgres and typesense. You should change these to random passwords
TYPESENSE_API_KEY=<redacted>
DB_PASSWORD=<redacted>

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

REDIS_HOSTNAME=immich-redis

# Self-defined
TZ=Europe/Berlin
PUID=1000
PGID=1000

Reproduction steps

1. Enter an Album via the Web Interface.
2. Select a few pictures you want to put into a new Album instead.
3. In the Album Search Field type the name of the Album you want to create and select the "New Album" function to create a new Album. You receive a message, that the pictures have been added to the new Album.
4. Without leaving the current Album, select the pictures again and select "Remove from Album"
5. Leave the current Album and open the new one you just created.
6. The new Album is empty.

Additional information

No response

Originally created by @kladderadeng on GitHub (Dec 11, 2023). ### The bug When using the Web interface, in the process to clean up my Albums, I went into an Album, selected a bunch of pictures and created a new Album for them. Immediately after, I removed the said pictures from the current Album. After switching back to the Albums overview I have seen that the pictures are still in the original Album, but missing from the new one. ### The OS that Immich Server is running on Ubuntu 22.10 LTS ### Version of Immich Server v.190.2 ### Version of Immich Mobile App n/a ### 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} user: "${PUID}:${PGID}" command: [ "start.sh", "immich" ] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro - /media/my/pictures:/media/my/pictures:ro env_file: - .env #ports: #- 2283:3001 depends_on: - redis - database - typesense restart: always labels: - "com.centurylinklabs.watchtower.enable=true" - "traefik.enable=true" - "traefik.publish=lan" - "traefik.http.routers.immich.entrypoints=https" - "traefik.http.routers.immich.rule=Host(`immich.mydomain.tld`)" - "traefik.http.routers.immich.tls=true" - "traefik.http.routers.immich.tls.certresolver=letsencrypt" - "traefik.http.routers.immich.middlewares=default@file" - "traefik.http.routers.immich.service=immich" - "traefik.http.services.immich.loadbalancer.server.port=3001" - "traefik.docker.network=docker_trusted" networks: - docker_trusted immich-microservices: container_name: immich-microservices image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} user: "${PUID}:${PGID}" extends: file: hwaccel.yml service: hwaccel command: [ "start.sh", "microservices" ] volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro - /opt/immich/reverse-geocoding-dump:/usr/src/app/.reverse-geocoding-dump - /media/my/pictures:/media/my/pictures:ro env_file: - .env depends_on: - redis - database - typesense restart: always labels: - "com.centurylinklabs.watchtower.enable=true" networks: - docker_trusted immich-machine-learning: container_name: immich-machine-learning image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} user: "${PUID}:${PGID}" volumes: - /opt/immich/ml-cache:/cache env_file: - .env restart: always labels: - "com.centurylinklabs.watchtower.enable=true" networks: - docker_trusted typesense: container_name: immich-typesense image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd user: "${PUID}:${PGID}" environment: - TYPESENSE_API_KEY=${TYPESENSE_API_KEY} - TYPESENSE_DATA_DIR=/data # remove this to get debug messages - GLOG_minloglevel=1 volumes: - /opt/immich/tsdata:/data restart: always labels: - "com.centurylinklabs.watchtower.enable=true" networks: - docker_trusted redis: container_name: immich-redis image: redis:6.2-alpine@sha256:60e49e22fa5706cd8df7d5e0bc50ee9bab7c608039fa653c4d961014237cca46 restart: always labels: - "com.centurylinklabs.watchtower.enable=true" networks: - docker_trusted database: container_name: immich-postgres image: postgres:14-alpine@sha256:6a0e35296341e676fe6bd8d236c72afffe2dfe3d7eb9c2405c0f3fc04500cd07 env_file: - .env environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} volumes: - /opt/immich/pgdata:/var/lib/postgresql/data restart: always labels: - "com.centurylinklabs.watchtower.enable=true" networks: - docker_trusted backup: container_name: immich-db-dumper image: prodrigestivill/postgres-backup-local user: 70:1000 env_file: - .env environment: POSTGRES_HOST: ${DB_HOSTNAME} POSTGRES_DB: ${DB_DATABASE_NAME} POSTGRES_USER: ${DB_USERNAME} POSTGRES_PASSWORD: ${DB_PASSWORD} SCHEDULE: "30 23 0 * * *" BACKUP_NUM_KEEP: 7 BACKUP_DIR: /db_dumps TZ: "Europe/Berlin" volumes: - /opt/immich/db_dumps:/db_dumps depends_on: - database networks: - docker_trusted networks: docker_trusted: name: docker_trusted external: true ``` ### Your .env content ```Shell # 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=/opt/immich/library # The Immich version to use. You can pin this to a specific version like "v1.71.0" IMMICH_VERSION=release # Connection secrets for postgres and typesense. You should change these to random passwords TYPESENSE_API_KEY=<redacted> DB_PASSWORD=<redacted> # The values below this line do not need to be changed ################################################################################### DB_HOSTNAME=immich-postgres DB_USERNAME=postgres DB_DATABASE_NAME=immich REDIS_HOSTNAME=immich-redis # Self-defined TZ=Europe/Berlin PUID=1000 PGID=1000 ``` ### Reproduction steps ```bash 1. Enter an Album via the Web Interface. 2. Select a few pictures you want to put into a new Album instead. 3. In the Album Search Field type the name of the Album you want to create and select the "New Album" function to create a new Album. You receive a message, that the pictures have been added to the new Album. 4. Without leaving the current Album, select the pictures again and select "Remove from Album" 5. Leave the current Album and open the new one you just created. 6. The new Album is empty. ``` ### Additional information _No response_
Author
Owner

@martabal commented on GitHub (Dec 12, 2023):

Not really a bug : when you create a new album, you go to this new album so when you immediately "remove the said pictures from the current Album", in reality you're removing the assets from the new album.

@martabal commented on GitHub (Dec 12, 2023): Not really a bug : when you create a new album, you go to this new album so when you immediately "remove the said pictures from the current Album", in reality you're removing the assets from the new album.
Author
Owner

@kladderadeng commented on GitHub (Dec 13, 2023):

I was pretty confident that I was still in the same album, because it showed all pictures, not only the ones I added to a new one. But I must admit that I did not pay attention to the title. So that one might have changed, I being really in a new album and just the Browsers cache keeping the other images showing?

I flattened everything and have to rebuild again, then I should try again. If I can reproduce it again and reliably, I will reopen this one and close it for now. Thanks for your reply!

@kladderadeng commented on GitHub (Dec 13, 2023): I was pretty confident that I was still in the same album, because it showed all pictures, not only the ones I added to a new one. But I must admit that I did not pay attention to the title. So that one might have changed, I being really in a new album and just the Browsers cache keeping the other images showing? I flattened everything and have to rebuild again, then I should try again. If I can reproduce it again and reliably, I will reopen this one and close it for now. Thanks for your reply!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#1766