New uploads from mobile/API show in the wrong tab on the webUI #2995

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

Originally created by @ericswpark on GitHub (Apr 20, 2024).

Originally assigned to: @michelheusschen on GitHub.

The bug

Uploads from mobile will show in whatever tab is open on the webUI. A good way to reproduce this is with the "Trash" tab. Refreshing will rectify this issue, but new uploads that stream in will continue to be displayed in the incorrect place. (Until refreshed again.)

The OS that Immich Server is running on

unRAID

Version of Immich Server

v1.102.2

Version of Immich Mobile App

v1.102.2

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: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/hardware-transcoding
    #   file: hwaccel.transcoding.yml
    #   service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
    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
    # 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

  redis:
    container_name: immich_redis
    image: registry.hub.docker.com/library/redis:6.2-alpine@sha256:51d6c56749a4243096327e3fb964a48ed92254357108449cb6e23999c37773c5
    restart: always

  database:
    container_name: immich_postgres
    image: registry.hub.docker.com/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
    volumes:
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    restart: always

volumes:
  pgdata:
  model-cache:

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=/srv/immich

# 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=randomrandomrandom

# The values below this line do not need to be changed
###################################################################################
DB_HOSTNAME=immich_postgres
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
DB_DATA_LOCATION=/srv/immich/postgres

REDIS_HOSTNAME=immich_redis

Reproduction steps

1. Open Immich WebUI
2. Navigate to Trash
3. On a separate device (mobile), start uploading via backup
4. See photos start to populate in the "Trash" library
5. Refresh to clear (temporarily) until new photos start to stream back in

Relevant log output

No response

Additional information

No response

Originally created by @ericswpark on GitHub (Apr 20, 2024). Originally assigned to: @michelheusschen on GitHub. ### The bug Uploads from mobile will show in whatever tab is open on the webUI. A good way to reproduce this is with the "Trash" tab. Refreshing *will* rectify this issue, but new uploads that stream in will continue to be displayed in the incorrect place. (Until refreshed again.) ### The OS that Immich Server is running on unRAID ### Version of Immich Server v1.102.2 ### Version of Immich Mobile App v1.102.2 ### 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: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/hardware-transcoding # file: hwaccel.transcoding.yml # service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding 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 # 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 redis: container_name: immich_redis image: registry.hub.docker.com/library/redis:6.2-alpine@sha256:51d6c56749a4243096327e3fb964a48ed92254357108449cb6e23999c37773c5 restart: always database: container_name: immich_postgres image: registry.hub.docker.com/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0 environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} volumes: - ${DB_DATA_LOCATION}:/var/lib/postgresql/data restart: always volumes: pgdata: model-cache: ``` ### 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=/srv/immich # 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=randomrandomrandom # The values below this line do not need to be changed ################################################################################### DB_HOSTNAME=immich_postgres DB_USERNAME=postgres DB_DATABASE_NAME=immich DB_DATA_LOCATION=/srv/immich/postgres REDIS_HOSTNAME=immich_redis ``` ### Reproduction steps ```bash 1. Open Immich WebUI 2. Navigate to Trash 3. On a separate device (mobile), start uploading via backup 4. See photos start to populate in the "Trash" library 5. Refresh to clear (temporarily) until new photos start to stream back in ``` ### Relevant log output _No response_ ### Additional information _No response_
OVERLORD added the 🖥️web label 2026-02-05 07:20:59 +03:00
Author
Owner

@flesser commented on GitHub (May 2, 2024):

I does not only happen for uploads from mobile but for any upload via the API.

I am currently uploading a bunch of photos using https://github.com/simulot/immich-go and they also appear in the Trash library as described in the original report above.

@flesser commented on GitHub (May 2, 2024): I does not only happen for uploads from mobile but for any upload via the API. I am currently uploading a bunch of photos using https://github.com/simulot/immich-go and they also appear in the Trash library as described in the original report above.
Author
Owner

@flesser commented on GitHub (May 9, 2024):

I must admit that I currently use it as "a feature, not a bug" to have a nice visual feedback of my current CLI upload progress.

But it's definitely a bug and bad user experience. Being new to Immich I was wondering why my uploads were immediately trashed and feared to have lost some images because I clicked "Empty Trash".

@flesser commented on GitHub (May 9, 2024): I must admit that I currently use it as "a feature, not a bug" to have a nice visual feedback of my current CLI upload progress. But it's definitely a bug and bad user experience. Being new to Immich I was wondering why my uploads were immediately trashed and feared to have lost some images because I clicked "Empty Trash".
Author
Owner

@Joly0 commented on GitHub (May 23, 2024):

Hey, it seems like this doesnt only affect uploads. I added an external library, and about 1/4-1/2 of the images (roughly 1-2k images) end up in the trash and because the default setting of emptying trash is 30 days, i initially was wondering where so many of my images went, but then noticed they just went to trash and then removed.

@Joly0 commented on GitHub (May 23, 2024): Hey, it seems like this doesnt only affect uploads. I added an external library, and about 1/4-1/2 of the images (roughly 1-2k images) end up in the trash and because the default setting of emptying trash is 30 days, i initially was wondering where so many of my images went, but then noticed they just went to trash and then removed.
Author
Owner

@ericswpark commented on GitHub (May 24, 2024):

@Joly0 that sounds like a different bug. This one is purely visual - the newly uploaded photos via API/mobile show up under Trash if it is currently open, but refreshing it clears it up. I'm guessing this is because the updates over websocket tell Immich to show the images under the currently open tab, and if it happens to be Trash then uploaded photos start showing up under Trash.

However, I haven't actually tested clicking on "empty trash" when this visual bug occurs. It's possible the webUI issues "permanently delete" commands for the photo IDs that show up under trash and causing it? If so this would be an even serious issue than originally reported.

@ericswpark commented on GitHub (May 24, 2024): @Joly0 that sounds like a different bug. This one is purely visual - the newly uploaded photos via API/mobile show up under Trash if it is currently open, but refreshing it clears it up. I'm guessing this is because the updates over websocket tell Immich to show the images under the currently open tab, and if it happens to be Trash then uploaded photos start showing up under Trash. However, I haven't actually tested clicking on "empty trash" when this visual bug occurs. It's possible the webUI issues "permanently delete" commands for the photo IDs that show up under trash and causing it? If so this would be an even serious issue than originally reported.
Author
Owner

@Joly0 commented on GitHub (May 24, 2024):

Thx @ericswpark for the clarification, than it might be another issue. Will look into it again and might create a bug report then

@Joly0 commented on GitHub (May 24, 2024): Thx @ericswpark for the clarification, than it might be another issue. Will look into it again and might create a bug report then
Author
Owner

@bo0tzz commented on GitHub (Jun 15, 2024):

@michelheusschen since you self-assigned the duplicate #10347, I've assigned you here as well.

@bo0tzz commented on GitHub (Jun 15, 2024): @michelheusschen since you self-assigned the duplicate #10347, I've assigned you here as well.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#2995