Android: remote deletions are reuploaded after having cleared trash #6396

Closed
opened 2026-02-20 04:11:37 -05:00 by deekerman · 40 comments
Owner

Originally created by @kapuett on GitHub (Aug 16, 2025).

I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.

  • Yes

The bug

On v1.138.0 with "sync remote deletions" enabled in beta timeline, assets are reuploaded to the server after deleting them via immich web and clearing trash afterwards. They will stay removed from the timeline if left in trash, but after clearing it they will re-appear on mobile and on web.

The OS that Immich Server is running on

Debian GNU/Linux 12 (bookworm)

Version of Immich Server

v1.138.0 to 1.42.0

Version of Immich Mobile App

v1.138.0 to 1.42.0

Platform with the issue

  • Server
  • Web
  • Mobile

Device make and model

Google Pixel 7 Pro

Your docker-compose.yml content

services:
  immich:
    container_name: immich
    image: ghcr.io/immich-app/immich-server:v1.138.0
    volumes:
      - /mnt/container_workload/immich/lib:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    environment:
      - DB_PASSWORD_FILE=/run/secrets/db_password
      - DB_USERNAME=postgres
      - DB_DATABASE_NAME=immich
    devices:
      - /dev/dri:/dev/dri
    depends_on:
      - redis
      - database
    restart: unless-stopped
    secrets:
      - db_password
    networks:
      - immich
      - proxy
    healthcheck:
      disable: false

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:v1.138.0
    volumes:
      - model-cache:/cache
    restart: unless-stopped
    networks:
      - immich
    healthcheck:
      disable: false

  redis:
    container_name: immich_redis
    image: docker.io/valkey/valkey:8-bookworm@sha256:42cba146593a5ea9a622002c1b7cba5da7be248650cbb64ecb9c6c33d29794b1
    healthcheck:
      test: redis-cli ping || exit 1
    restart: unless-stopped
    networks:
      - immich

  database:
    container_name: immich_postgres
    image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0
    environment:
      POSTGRES_PASSWORD_FILE: /run/secrets/db_password
      POSTGRES_USER: postgres
      POSTGRES_DB: immich
      POSTGRES_INITDB_ARGS: '--data-checksums'
    volumes:
      - /mnt/container_workload/immich/postgres:/var/lib/postgresql/data
    restart: unless-stopped
    networks:
      - immich
    secrets:
      - db_password
    labels:
      wud.watch: false

secrets:
  db_password:
    file: /mnt/container_workload/immich/postgres.txt

networks:
  immich:
  proxy:
    external: true
volumes:
  model-cache:

Your .env content

Included in secrets/env vars of compose

Reproduction steps

  1. Take picture on mobile and wait for it to be synched
  2. Delete that picture on immich web and wait for it to disappear from mobile
  3. Clear trash
  4. Restart android app and wait for picture to reappear on mobile and server

Relevant log output

Deleted assets are the same for each upload/clearing of trash

[Nest] 7  - 08/16/2025, 4:42:44 AM     LOG [Microservices:TrashService] Queued 2 asset(s) for deletion from the trash
[Removed Websocket Connects/Disconnects for visibility]
[Nest] 7  - 08/16/2025, 4:43:36 AM     LOG [Microservices:MetadataService] Wrote motion photo video to /usr/src/app/upload/encoded-video/4a971b7e-6bcc-4578-9dae-802e5cfb0983/60/e7/60e703ca-65d9-43a4-ae58-3e944daf4a63-MP.mp4
[Nest] 7  - 08/16/2025, 4:43:36 AM     LOG [Microservices:MediaService] Transcoding video 60e703ca-65d9-43a4-ae58-3e944daf4a63 with QSV-accelerated encoding and decoding
[Nest] 7  - 08/16/2025, 4:43:36 AM     LOG [Microservices:MediaService] Successfully encoded 60e703ca-65d9-43a4-ae58-3e944daf4a63
[Removed Websocket Connects/Disconnects for visibility]
[Nest] 7  - 08/16/2025, 4:59:19 AM     LOG [Microservices:TrashService] Queued 2 asset(s) for deletion from the trash
[Removed Websocket Connects/Disconnects for visibility]
[Nest] 7  - 08/16/2025, 5:00:38 AM     LOG [Microservices:MetadataService] Wrote motion photo video to /usr/src/app/upload/encoded-video/4a971b7e-6bcc-4578-9dae-802e5cfb0983/97/0f/970f4488-29e8-4319-b2b4-ca0dac0da1d0-MP.mp4
[Nest] 7  - 08/16/2025, 5:00:38 AM     LOG [Microservices:MediaService] Transcoding video 970f4488-29e8-4319-b2b4-ca0dac0da1d0 with QSV-accelerated encoding and decoding
[Nest] 7  - 08/16/2025, 5:00:38 AM     LOG [Microservices:MediaService] Successfully encoded 970f4488-29e8-4319-b2b4-ca0dac0da1d0

Additional information

I have "Reset SQLite Database" on mobile, logged out and re-setup sync again with the same results.

Originally created by @kapuett on GitHub (Aug 16, 2025). ### I have searched the existing issues, both open and closed, to make sure this is not a duplicate report. - [x] Yes ### The bug On v1.138.0 with "sync remote deletions" enabled in beta timeline, assets are reuploaded to the server after deleting them via immich web and clearing trash afterwards. They will stay removed from the timeline if left in trash, but after clearing it they will re-appear on mobile and on web. ### The OS that Immich Server is running on Debian GNU/Linux 12 (bookworm) ### Version of Immich Server v1.138.0 to 1.42.0 ### Version of Immich Mobile App v1.138.0 to 1.42.0 ### Platform with the issue - [ ] Server - [ ] Web - [x] Mobile ### Device make and model Google Pixel 7 Pro ### Your docker-compose.yml content ```YAML services: immich: container_name: immich image: ghcr.io/immich-app/immich-server:v1.138.0 volumes: - /mnt/container_workload/immich/lib:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro environment: - DB_PASSWORD_FILE=/run/secrets/db_password - DB_USERNAME=postgres - DB_DATABASE_NAME=immich devices: - /dev/dri:/dev/dri depends_on: - redis - database restart: unless-stopped secrets: - db_password networks: - immich - proxy healthcheck: disable: false immich-machine-learning: container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:v1.138.0 volumes: - model-cache:/cache restart: unless-stopped networks: - immich healthcheck: disable: false redis: container_name: immich_redis image: docker.io/valkey/valkey:8-bookworm@sha256:42cba146593a5ea9a622002c1b7cba5da7be248650cbb64ecb9c6c33d29794b1 healthcheck: test: redis-cli ping || exit 1 restart: unless-stopped networks: - immich database: container_name: immich_postgres image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0 environment: POSTGRES_PASSWORD_FILE: /run/secrets/db_password POSTGRES_USER: postgres POSTGRES_DB: immich POSTGRES_INITDB_ARGS: '--data-checksums' volumes: - /mnt/container_workload/immich/postgres:/var/lib/postgresql/data restart: unless-stopped networks: - immich secrets: - db_password labels: wud.watch: false secrets: db_password: file: /mnt/container_workload/immich/postgres.txt networks: immich: proxy: external: true volumes: model-cache: ``` ### Your .env content ```Shell Included in secrets/env vars of compose ``` ### Reproduction steps 1. Take picture on mobile and wait for it to be synched 2. Delete that picture on immich web and wait for it to disappear from mobile 3. Clear trash 4. Restart android app and wait for picture to reappear on mobile and server ### Relevant log output Deleted assets are the same for each upload/clearing of trash ```shell [Nest] 7 - 08/16/2025, 4:42:44 AM LOG [Microservices:TrashService] Queued 2 asset(s) for deletion from the trash [Removed Websocket Connects/Disconnects for visibility] [Nest] 7 - 08/16/2025, 4:43:36 AM LOG [Microservices:MetadataService] Wrote motion photo video to /usr/src/app/upload/encoded-video/4a971b7e-6bcc-4578-9dae-802e5cfb0983/60/e7/60e703ca-65d9-43a4-ae58-3e944daf4a63-MP.mp4 [Nest] 7 - 08/16/2025, 4:43:36 AM LOG [Microservices:MediaService] Transcoding video 60e703ca-65d9-43a4-ae58-3e944daf4a63 with QSV-accelerated encoding and decoding [Nest] 7 - 08/16/2025, 4:43:36 AM LOG [Microservices:MediaService] Successfully encoded 60e703ca-65d9-43a4-ae58-3e944daf4a63 [Removed Websocket Connects/Disconnects for visibility] [Nest] 7 - 08/16/2025, 4:59:19 AM LOG [Microservices:TrashService] Queued 2 asset(s) for deletion from the trash [Removed Websocket Connects/Disconnects for visibility] [Nest] 7 - 08/16/2025, 5:00:38 AM LOG [Microservices:MetadataService] Wrote motion photo video to /usr/src/app/upload/encoded-video/4a971b7e-6bcc-4578-9dae-802e5cfb0983/97/0f/970f4488-29e8-4319-b2b4-ca0dac0da1d0-MP.mp4 [Nest] 7 - 08/16/2025, 5:00:38 AM LOG [Microservices:MediaService] Transcoding video 970f4488-29e8-4319-b2b4-ca0dac0da1d0 with QSV-accelerated encoding and decoding [Nest] 7 - 08/16/2025, 5:00:38 AM LOG [Microservices:MediaService] Successfully encoded 970f4488-29e8-4319-b2b4-ca0dac0da1d0 ``` ### Additional information I have "Reset SQLite Database" on mobile, logged out and re-setup sync again with the same results.
deekerman 2026-02-20 04:11:37 -05:00
Author
Owner

@MichScha commented on GitHub (Aug 17, 2025):

Just wanted to open an issue - same behavior for me with same setup.

@MichScha commented on GitHub (Aug 17, 2025): Just wanted to open an issue - same behavior for me with same setup.
Author
Owner

@kapuett commented on GitHub (Sep 14, 2025):

Removed [beta] from title as still exists with 1.42.0

@kapuett commented on GitHub (Sep 14, 2025): Removed [beta] from title as still exists with `1.42.0`
Author
Owner

@XobSod commented on GitHub (Sep 30, 2025):

Can confirm for 1.143.1

@XobSod commented on GitHub (Sep 30, 2025): Can confirm for `1.143.1`
Author
Owner

@ObsidianMaximus commented on GitHub (Oct 2, 2025):

Issue still exists in v2.0.0 - Stable Release

@ObsidianMaximus commented on GitHub (Oct 2, 2025): Issue still exists in v2.0.0 - Stable Release
Author
Owner

@alextran1502 commented on GitHub (Oct 2, 2025):

There are WIP to port the feature over to the new timeline

@alextran1502 commented on GitHub (Oct 2, 2025): There are WIP to port the feature over to the new timeline
Author
Owner

@ronzino83 commented on GitHub (Oct 6, 2025):

Two ways sync seems to does not work anymore in beta timeline.
Two way sync = if an asset is removed from smarpthone gallery app it will be deleted on immich server (web and app) AND if an asset is removed from immich server (using the app or the web) it will be deleted on smartphone as well.

Please add back this feature

@ronzino83 commented on GitHub (Oct 6, 2025): Two ways sync seems to does not work anymore in beta timeline. Two way sync = if an asset is removed from smarpthone gallery app it will be deleted on immich server (web and app) AND if an asset is removed from immich server (using the app or the web) it will be deleted on smartphone as well. Please add back this feature
Author
Owner

@ncsufan8628 commented on GitHub (Oct 15, 2025):

also having this issue and remote deletions not syncing on v2 and Android

@ncsufan8628 commented on GitHub (Oct 15, 2025): also having this issue and remote deletions not syncing on v2 and Android
Author
Owner

@effsee00 commented on GitHub (Oct 25, 2025):

Commenting to note issue is still present and to add additional FINE level app logging if helpful.

Android App Version: 2.1.0 build.3022
Server: v2.1.0
App setting: Sync remote deletions [EXPERIMENTAL] =TRUE

Immich_log_2025-10-25T11_28_34.688565.log

@effsee00 commented on GitHub (Oct 25, 2025): Commenting to note issue is still present and to add additional **FINE** level app logging if helpful. Android App Version: 2.1.0 build.3022 Server: v2.1.0 App setting: Sync remote deletions [EXPERIMENTAL] =TRUE [Immich_log_2025-10-25T11_28_34.688565.log](https://github.com/user-attachments/files/23141424/Immich_log_2025-10-25T11_28_34.688565.log)
Author
Owner

@ronzino83 commented on GitHub (Oct 25, 2025):

I wonder why this deletion problem is not the top priority of developers and not in the to do list as well. I stopped using my server waiting for a fix due to this.

@ronzino83 commented on GitHub (Oct 25, 2025): I wonder why this deletion problem is not the top priority of developers and not in the to do list as well. I stopped using my server waiting for a fix due to this.
Author
Owner

@rokfor2000 commented on GitHub (Oct 25, 2025):

So did I.

Really annoying, especially if you use Immich on more than 1 device. I need to remember on which device the photo was taken to be able to permanently delete it...

@rokfor2000 commented on GitHub (Oct 25, 2025): So did I. Really annoying, especially if you use Immich on more than 1 device. I need to remember on which device the photo was taken to be able to permanently delete it...
Author
Owner

@schildbach commented on GitHub (Oct 25, 2025):

Is this really limited to remote deletion? What does "remote" actually mean in this context, the web app is also remote.

I came to this report because if I delete an image via the webapp, then clear trash, the image gets reuploaded by the Android app automatically. So effectively I can't delete photos any more.

@schildbach commented on GitHub (Oct 25, 2025): Is this really limited to remote deletion? What does "remote" actually mean in this context, the web app is also remote. I came to this report because if I delete an image via the webapp, then clear trash, the image gets reuploaded by the Android app automatically. So effectively I can't delete photos any more.
Author
Owner

@effsee00 commented on GitHub (Oct 25, 2025):

I wonder why this deletion problem is not the top priority of developers and not in the to do list as well. I stopped using my server waiting for a fix due to this.

Whilst not an ideal solution, as a workaround I've set my Trash auto-deletion to be 9999 days. This way I don't get 'deleted' images reappearing into my feed. I'm not pressed for storage space, so my deletions have 27 years to sit in the trash until this is resolved.

@effsee00 commented on GitHub (Oct 25, 2025): > I wonder why this deletion problem is not the top priority of developers and not in the to do list as well. I stopped using my server waiting for a fix due to this. Whilst not an ideal solution, as a workaround I've set my Trash auto-deletion to be 9999 days. This way I don't get 'deleted' images reappearing into my feed. I'm not pressed for storage space, so my deletions have 27 years to sit in the trash until this is resolved.
Author
Owner

@ronzino83 commented on GitHub (Oct 25, 2025):

Problem is not limited to pictures that reappear. It is also impossible to keep in sync pictures on smartphone and server as where ever you remove them, they are not removed on the other side.

@ronzino83 commented on GitHub (Oct 25, 2025): Problem is not limited to pictures that reappear. It is also impossible to keep in sync pictures on smartphone and server as where ever you remove them, they are not removed on the other side.
Author
Owner

@kapuett commented on GitHub (Oct 25, 2025):

It is also impossible to keep in sync pictures on smartphone and server as where ever you remove them, they are not removed on the other side.

This works for me. Deleting only isn't synched from the server -> client. If I remove the assets from the device where they were created, they are deleted from both, server and client.

@kapuett commented on GitHub (Oct 25, 2025): > It is also impossible to keep in sync pictures on smartphone and server as where ever you remove them, they are not removed on the other side. This works for me. Deleting only isn't synched from the server -> client. If I remove the assets from the device where they were created, they are deleted from both, server and client.
Author
Owner

@effsee00 commented on GitHub (Oct 25, 2025):

You're right they are not deleted from either device. So far I see the scenario as:

  • Immich backs up image from Android device to server OK.
    a) 'Trash' the image from Immich mobile app or web UI - changes synced between Immich views and it is no longer shown in the feed. However the original image is still present at the original location in device filesystem and visable by other image apps.
    b) 'Delete' the image from Immich trash, and the deletion is not replicated outside of Immich to the device filesystem. The original image is re-synced into Immich.
    c) Using a 3rd party application to delete an image from the Android device will successfully delete the original image, and Immich's backup of this image is not affected - illustrated with the image still shown in the mobile app, but with only a 'cloud without tick' icon overlay.

It does seem strange this bug is prioritised as "Low" given that this does severely affect the ability to organise images locally.

@effsee00 commented on GitHub (Oct 25, 2025): You're right they are not deleted from either device. So far I see the scenario as: - Immich backs up image from Android device to server OK. a) 'Trash' the image from Immich mobile app or web UI - changes synced between Immich views and it is no longer shown in the feed. However the original image is still present at the original location in device filesystem and visable by other image apps. b) 'Delete' the image from Immich trash, and the deletion is not replicated outside of Immich to the device filesystem. The original image is re-synced into Immich. c) Using a 3rd party application to delete an image from the Android device will successfully delete the original image, and Immich's backup of this image is _not_ affected - illustrated with the image still shown in the mobile app, but with only a 'cloud without tick' icon overlay. It does seem strange this bug is prioritised as "Low" given that this does severely affect the ability to organise images locally.
Author
Owner

@kapuett commented on GitHub (Oct 25, 2025):

You're right they are not deleted from either device.

That's not the case for this issue. Please open a separate one if it is for you.

It does seem strange this bug is prioritised as "Low" given that this does severely affect the ability to organise images locally.

Even in the title of the option it says "EXPERIMENTALLY", so it makes sense this is not a prio issue.

@kapuett commented on GitHub (Oct 25, 2025): > You're right they are not deleted from either device. That's not the case for this issue. Please open a separate one if it is for you. > It does seem strange this bug is prioritised as "Low" given that this does severely affect the ability to organise images locally. Even in the title of the option it says "EXPERIMENTALLY", so it makes sense this is not a prio issue.
Author
Owner

@ronzino83 commented on GitHub (Oct 25, 2025):

That's not the case for this issue. Please open a separate one if it is for you.

I did it was closed as duplicate of this. So here we are

Even in the title of the option it says "EXPERIMENTALLY", so it makes sense this is not a prio issue.

I know.... But le me ask.... How a problem that breaks the user experience (you cannot delede assets) can be low priority ? Lower then developing image editor ? I wonder how you can delete wrongly edited images then 🤣

@ronzino83 commented on GitHub (Oct 25, 2025): > That's not the case for this issue. Please open a separate one if it is for you. I did it was closed as duplicate of this. So here we are > Even in the title of the option it says "EXPERIMENTALLY", so it makes sense this is not a prio issue. I know.... But le me ask.... How a problem that breaks the user experience (you cannot delede assets) can be low priority ? Lower then developing image editor ? I wonder how you can delete wrongly edited images then 🤣
Author
Owner

@XobSod commented on GitHub (Oct 25, 2025):

There is even a feature that allows you to remove duplicated photos (similar photos, taken within short period of time), but what sense does it make to use it, if the photos get reuploaded after you delete them ;)

@XobSod commented on GitHub (Oct 25, 2025): There is even a feature that allows you to remove duplicated photos (similar photos, taken within short period of time), but what sense does it make to use it, if the photos get reuploaded after you delete them ;)
Author
Owner

@effsee00 commented on GitHub (Oct 25, 2025):

You're right they are not deleted from either device.

That's not the case for this issue. Please open a separate one if it is for you.

Your reproduction step #4 seems to suggest this is exactly the same issue. To be clear in my statement - the images are not being removed from the local device filesystem, which results in the image being re-uploaded when you clear the trash.

Despite it being an experimental feature, it doesn't stop it being important functionality. Regression of experimental features could still be considered important to many. It's reassuring that @alextran1502 has noted there is work in progress to fix it.

@effsee00 commented on GitHub (Oct 25, 2025): >> You're right they are not deleted from either device. > That's not the case for this issue. Please open a separate one if it is for you. Your reproduction step #4 seems to suggest this is exactly the same issue. To be clear in my statement - the images are not being removed from the local device filesystem, which results in the image being re-uploaded when you clear the trash. Despite it being an experimental feature, it doesn't stop it being important functionality. Regression of experimental features could still be considered important to many. It's reassuring that @alextran1502 has noted there _is_ work in progress to fix it.
Author
Owner

@ncsufan8628 commented on GitHub (Oct 26, 2025):

has anyone tried to revert to an older version where the delete functionality actually works?

really sucks and makes immich unusable to not be able to remove trash assets or use my PC to clean up unwanted assets and have them removed from the phone itself

@ncsufan8628 commented on GitHub (Oct 26, 2025): has anyone tried to revert to an older version where the delete functionality actually works? really sucks and makes immich unusable to not be able to remove trash assets or use my PC to clean up unwanted assets and have them removed from the phone itself
Author
Owner

@ronzino83 commented on GitHub (Oct 26, 2025):

has anyone tried to revert to an older version where the delete functionality actually works?

The risk to mess the db is big doing this. And old immich versions where delete used to work have the auto sync function that does not as well as problems to keep track of already uploaded assets.

@ronzino83 commented on GitHub (Oct 26, 2025): > has anyone tried to revert to an older version where the delete functionality actually works? > The risk to mess the db is big doing this. And old immich versions where delete used to work have the auto sync function that does not as well as problems to keep track of already uploaded assets.
Author
Owner

@ncsufan8628 commented on GitHub (Oct 26, 2025):

So I have a workaround - turns out its not the immich server that has the issue, its the android app. Downgrading my android app to v1.135 has solved my issue with remote deletions not syncing between devices.

@ncsufan8628 commented on GitHub (Oct 26, 2025): So I have a workaround - turns out its not the immich server that has the issue, its the android app. Downgrading my android app to v1.135 has solved my issue with remote deletions not syncing between devices.
Author
Owner

@rokfor2000 commented on GitHub (Oct 26, 2025):

So I have a workaround - turns out its not the immich server that has the issue, its the android app. Downgrading my android app to v1.135 has solved my issue with remote deletions not syncing between devices.

Really hopeful! Will give it a go tomorrow.

@rokfor2000 commented on GitHub (Oct 26, 2025): > So I have a workaround - turns out its not the immich server that has the issue, its the android app. Downgrading my android app to v1.135 has solved my issue with remote deletions not syncing between devices. Really hopeful! Will give it a go tomorrow.
Author
Owner

@ncsufan8628 commented on GitHub (Oct 26, 2025):

good luck! hope it helps. There may be a more recent version that works too - I just remember the feature working when I first migrated to immich at the start of the summer so picked that one when the latest couple releases prior to v2 didnt work.

@ncsufan8628 commented on GitHub (Oct 26, 2025): good luck! hope it helps. There may be a more recent version that works too - I just remember the feature working when I first migrated to immich at the start of the summer so picked that one when the latest couple releases prior to v2 didnt work.
Author
Owner

@ObsidianMaximus commented on GitHub (Oct 26, 2025):

If I can recall correctly, it was the android app that was broken since the new UI came.

Before this UI, the old one had no issues, but we had an option in the app to enable the new interface (which was in beta back then) and that had same issues with remote deletions.

So yeah, reverting to any version with the old UI should fix it.

@ObsidianMaximus commented on GitHub (Oct 26, 2025): If I can recall correctly, it was the android app that was broken since the new UI came. Before this UI, the old one had no issues, but we had an option in the app to enable the new interface (which was in beta back then) and that had same issues with remote deletions. So yeah, reverting to any version with the old UI should fix it.
Author
Owner

@rokfor2000 commented on GitHub (Oct 29, 2025):

I have switched to the old timeline in the new app hoping it'd fix it, but unfortunately it didn't I thought this is what you referred talking about a new UI, but it seems there must have been some previous UI change as well?

@rokfor2000 commented on GitHub (Oct 29, 2025): I have switched to the old timeline in the new app hoping it'd fix it, but unfortunately it didn't I thought this is what you referred talking about a new UI, but it seems there must have been some previous UI change as well?
Author
Owner

@schildbach commented on GitHub (Oct 30, 2025):

This bug is still present in Immich Server 2.2.0.

@schildbach commented on GitHub (Oct 30, 2025): This bug is still present in Immich Server 2.2.0.
Author
Owner

@rokfor2000 commented on GitHub (Oct 30, 2025):

There's always a silver lining 2.2.0 has [Web] UI improvement for the review duplicates screen. Which is important because we gonna have to delete the same duplicates over and over 😂

Anyway I was testing trying to decide if I should switch to Immich and apart from this (rather annoying) bug, I really like it. I'm going to make a leap of faith ... hopefully will be resolved soon.

@rokfor2000 commented on GitHub (Oct 30, 2025): There's always a silver lining 2.2.0 has [Web] UI improvement for the review duplicates screen. Which is important because we gonna have to delete the same duplicates over and over 😂 Anyway I was testing trying to decide if I should switch to Immich and apart from this (rather annoying) bug, I really like it. I'm going to make a leap of faith ... hopefully will be resolved soon.
Author
Owner

@Nevaehni commented on GitHub (Nov 7, 2025):

Issue still exists with v2.2.3

@Nevaehni commented on GitHub (Nov 7, 2025): Issue still exists with v2.2.3
Author
Owner

@smrky1 commented on GitHub (Nov 20, 2025):

I believe the issue is now fixed starting from 2.3.0. Tested with 2.3.1 today and when I delete an asset through web app and then clear the Trash, it is removed* on my Android phone as well and will not get re-uploaded.

*it is actually not removed from the device, but the filename is prepended with ".trashed-". I believe this is the desired behaviour (as it is the same as how Google Photos trash works). Although I did not figure out when / how are the .trashed- files eventually deleted from the device file system.

@smrky1 commented on GitHub (Nov 20, 2025): I believe the issue is now fixed starting from 2.3.0. Tested with 2.3.1 today and when I delete an asset through web app and then clear the Trash, it is removed* on my Android phone as well and will not get re-uploaded. *it is actually not removed from the device, but the filename is prepended with ".trashed-". I believe this is the desired behaviour (as it is the same as how Google Photos trash works). Although I did not figure out when / how are the .trashed- files eventually deleted from the device file system.
Author
Owner

@HaDeSMonsta commented on GitHub (Nov 20, 2025):

At least on my Samsung it is actually moved to the internal trash and marked for deletion in 30 days, so this is probably how your phone handles trashed files (?)

*it is actually not removed from the device, but the filename is prepended with ".trashed-". I believe this is the desired behaviour (as it is the same as how Google Photos trash works). Although I did not figure out when / how are the .trashed- files eventually deleted from the device file system.

@HaDeSMonsta commented on GitHub (Nov 20, 2025): At least on my Samsung it is actually moved to the internal trash and marked for deletion in 30 days, so this is probably how your phone handles trashed files (?) > *it is actually not removed from the device, but the filename is prepended with ".trashed-". I believe this is the desired behaviour (as it is the same as how Google Photos trash works). Although I did not figure out when / how are the .trashed- files eventually deleted from the device file system.
Author
Owner

@smrky1 commented on GitHub (Nov 20, 2025):

Seems the ".trashed-" files are automatically deleted by either Google Photos / Google Files app or by Anroid OS itself (after 30 days).

After emptying the Trash in Immich, I can still see the assets show up in Google Photos / Google Files Trash (those are the ".trashed-" file in my file system).

When I empty the Trash in either of the Google Apps, they are gone for good (happens automatically after 30 days as it says in those apps). I cannot quickly verify if they get removed even if you do not have either of the Google apps installed (maybe Android OS clear them automatically).

Anyways I can revert my 9999 days period for emptying Immich Trash back to default 30 as the issue is finally fixed :-) Thanks!

@smrky1 commented on GitHub (Nov 20, 2025): Seems the ".trashed-" files are automatically deleted by either Google Photos / Google Files app or by Anroid OS itself (after 30 days). After emptying the Trash in Immich, I can still see the assets show up in Google Photos / Google Files Trash (those are the ".trashed-" file in my file system). When I empty the Trash in either of the Google Apps, they are gone for good (happens automatically after 30 days as it says in those apps). I cannot quickly verify if they get removed even if you do not have either of the Google apps installed (maybe Android OS clear them automatically). Anyways I can revert my 9999 days period for emptying Immich Trash back to default 30 as the issue is finally fixed :-) Thanks!
Author
Owner

@kapuett commented on GitHub (Nov 20, 2025):

Can confirm this as fixed with v2.3, closing the issue.

@kapuett commented on GitHub (Nov 20, 2025): Can confirm this as fixed with v2.3, closing the issue.
Author
Owner

@dpad commented on GitHub (Nov 21, 2025):

I'm sorry to comment on this supposedly closed ticket, but it still seems to not be working correctly for me.
I've updated to Server v2.3.1 and App v2.3.0.build.3027.

Behaviour I'm still seeing:

  1. I took some photos on my phone.
  2. The photos get uploaded to the Immich server (cloud icon with a tick).
  3. I delete them from the web UI directly (not from the app).
  4. I got to "Trash" on the web UI and delete them permanently.
  5. On the app, the photos now show up as not uploaded (cloud with a cross).
  6. The app again uploads them to the server (cloud with tick).

I can repeat this any number of times and the photos never delete, they keep re-uploading.

Is there some new setting I'm missing? Do I need to clear some kind of cache?

@dpad commented on GitHub (Nov 21, 2025): I'm sorry to comment on this supposedly closed ticket, but it still seems to not be working correctly for me. I've updated to Server v2.3.1 and App v2.3.0.build.3027. Behaviour I'm still seeing: 1. I took some photos on my phone. 2. The photos get uploaded to the Immich server (cloud icon with a tick). 3. I delete them from the web UI directly (not from the app). 4. I got to "Trash" on the web UI and delete them permanently. 5. On the app, the photos now show up as not uploaded (cloud with a cross). 6. The app again uploads them to the server (cloud with tick). I can repeat this any number of times and the photos never delete, they keep re-uploading. Is there some new setting I'm missing? Do I need to clear some kind of cache?
Author
Owner

@effsee00 commented on GitHub (Nov 22, 2025):

I'm sorry to comment on this supposedly closed ticket, but it still seems to not be working correctly for me. I've updated to Server v2.3.1 and App v2.3.0.build.3027.

Behaviour I'm still seeing:

  1. I took some photos on my phone.
  2. The photos get uploaded to the Immich server (cloud icon with a tick).
  3. I delete them from the web UI directly (not from the app).
  4. I got to "Trash" on the web UI and delete them permanently.
  5. On the app, the photos now show up as not uploaded (cloud with a cross).
  6. The app again uploads them to the server (cloud with tick).

I can repeat this any number of times and the photos never delete, they keep re-uploading.

Is there some new setting I'm missing? Do I need to clear some kind of cache?

I can reproduce what you're doing, and assume you're not allowing the changes to sync to the phone.

Updated steps:
3. I delete them from the web UI directly (not from the app).
3b. Open immich app allow changes to sync.
3c. Observe images get removed from Immich view, and phone native image app
4. I got to "Trash" on the web UI and delete them permanently.
4b. Open immich app allow changes to sync.
5. photos still deleted.

It seems the process flow for deletions, the mobile app needs to be aware of the image going into Trash. In a normal flow the images would likely sit in trash for x number of days (before being deleted automatically) and this sync would happen normally.

I imagine that the scenario you're testing this with (send to trash, and delete from trash within a few minutes) is an edge case that the flow isn't engineered for.

@effsee00 commented on GitHub (Nov 22, 2025): > I'm sorry to comment on this supposedly closed ticket, but it still seems to not be working correctly for me. I've updated to Server v2.3.1 and App v2.3.0.build.3027. > > Behaviour I'm still seeing: > > 1. I took some photos on my phone. > 2. The photos get uploaded to the Immich server (cloud icon with a tick). > 3. I delete them from the web UI directly (not from the app). > 4. I got to "Trash" on the web UI and delete them permanently. > 5. On the app, the photos now show up as not uploaded (cloud with a cross). > 6. The app again uploads them to the server (cloud with tick). > > I can repeat this any number of times and the photos never delete, they keep re-uploading. > > Is there some new setting I'm missing? Do I need to clear some kind of cache? I can reproduce what you're doing, and assume you're not allowing the changes to sync to the phone. Updated steps: 3. I delete them from the web UI directly (not from the app). 3b. Open immich app allow changes to sync. 3c. Observe images get removed from Immich view, and phone native image app 4. I got to "Trash" on the web UI and delete them permanently. 4b. Open immich app allow changes to sync. 5. photos still deleted. It seems the process flow for deletions, the mobile app needs to be aware of the image going into Trash. In a normal flow the images would likely sit in trash for x number of days (before being deleted automatically) and this sync would happen normally. I imagine that the scenario you're testing this with (send to trash, and delete from trash within a few minutes) is an edge case that the flow isn't engineered for.
Author
Owner

@schildbach commented on GitHub (Nov 22, 2025):

I imagine that the scenario you're testing this with (send to trash, and delete from trash within a few minutes) is an edge case that the flow isn't engineered for.

That would be unfortunate. I think emptying the trash just after trashing a photo is a very common usecase. Maybe you don't do it for every trashed photo, but every now and then there is a photo you really want to make sure it's gone.

@schildbach commented on GitHub (Nov 22, 2025): > I imagine that the scenario you're testing this with (send to trash, and delete from trash within a few minutes) is an edge case that the flow isn't engineered for. That would be unfortunate. I think emptying the trash just after trashing a photo is a very common usecase. Maybe you don't do it for every trashed photo, but every now and then there is a photo you really want to make sure it's gone.
Author
Owner

@effsee00 commented on GitHub (Nov 22, 2025):

I imagine that the scenario you're testing this with (send to trash, and delete from trash within a few minutes) is an edge case that the flow isn't engineered for.

That would be unfortunate. I think emptying the trash just after trashing a photo is a very common usecase. Maybe you don't do it for every trashed photo, but every now and then there is a photo you really want to make sure it's gone.

Agreed - it's a poor user experience in that case, so possibly still a bug. Would be good to get clarification of expected behaviour from the devs.

@alextran1502

@effsee00 commented on GitHub (Nov 22, 2025): > > I imagine that the scenario you're testing this with (send to trash, and delete from trash within a few minutes) is an edge case that the flow isn't engineered for. > > That would be unfortunate. I think emptying the trash just after trashing a photo is a very common usecase. Maybe you don't do it for every trashed photo, but every now and then there is a photo you really want to make sure it's gone. Agreed - it's a poor user experience in that case, so possibly still a bug. Would be good to get clarification of expected behaviour from the devs. @alextran1502
Author
Owner

@kapuett commented on GitHub (Nov 22, 2025):

Cannot reproduce what is described here. Images are not uploaded again like in the original issue description. I can clear trash immediately after the image vanished from Android App and it is not uploaded again. @dpad just to be sure: you do have the remote sync feature activated in the app, right? Did you log out from the app and tried again?

@kapuett commented on GitHub (Nov 22, 2025): Cannot reproduce what is described here. Images are not uploaded again like in the original issue description. I can clear trash immediately after the image vanished from Android App and it is not uploaded again. @dpad just to be sure: you do have the remote sync feature activated in the app, right? Did you log out from the app and tried again?
Author
Owner

@dpad commented on GitHub (Nov 22, 2025):

@kapuett Thanks for checking! Sync remote is enabled (as far as I understand it) --> the "Sync Status" screen shows a tick next to the Sync Remote job. I did not log out from the app, so I'll try that now and report back...

(Below is after having logged out and back in to the app.)

First I tried deleting on web UI then immediately clearing trash: Immediately reuploaded.

Next I tried deleting on web UI, then waiting for the app to sync (deleted image disappeared from app), then cleared trash on web UI. This time the image seems to stay deleted. So I think @effsee00 is possibly right.

@dpad commented on GitHub (Nov 22, 2025): @kapuett Thanks for checking! Sync remote is enabled (as far as I understand it) --> the "Sync Status" screen shows a tick next to the Sync Remote job. I did not log out from the app, so I'll try that now and report back... (Below is after having logged out and back in to the app.) First I tried deleting on web UI then immediately clearing trash: Immediately reuploaded. Next I tried deleting on web UI, then waiting for the app to sync (deleted image disappeared from app), then cleared trash on web UI. This time the image seems to stay deleted. So I think @effsee00 is possibly right.
Author
Owner

@smrky1 commented on GitHub (Nov 22, 2025):

First I tried deleting on web UI then immediately clearing trash: Immediately reuploaded.

This is the issue. You are not allowing the Android app to synchronize and to find out that you 1) trashed the image in the web app 2) emptied trash in the web app. Seems the Android app evaluates it as a completely new image and reuploads. I can reproduce it now...

In other words it only becomes a problem if you empty the trash in the web app before allowing the mobile app to synchronize.

@smrky1 commented on GitHub (Nov 22, 2025): > First I tried deleting on web UI then immediately clearing trash: Immediately reuploaded. This is the issue. You are not allowing the Android app to synchronize and to find out that you 1) trashed the image in the web app 2) emptied trash in the web app. Seems the Android app evaluates it as a completely new image and reuploads. I can reproduce it now... In other words it only becomes a problem if you empty the trash in the web app before allowing the mobile app to synchronize.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/immich#6396
No description provided.