immich
immich copied to clipboard
Files that are offline (deleted or missing) do not show in the trash folder.
The bug
As per release notes for v1.116 for external libraries:
Files that are offline (deleted or missing) now get hidden from the timeline and will show in the trash folder.
Immich identified 6000+ files as duplicates, I downloaded the list via an API call and used it to automatically move away most of the duplicates automatically
After that I've triggered a new scan for the external library, but non of the files appear in the trash folder - it's empty. Reviewing my duplicates and opening the full image I see an "Asset Offline" warning
This external library asset is no longer found on disk and has been moved to trash. If the file was moved within the library, check your timeline for the new corresponding asset. To restore this asset, please ensure that the file path below can be accessed by Immich and scan the library.
- Removed assets from external library are not appearing in trash
- Assets are still considered for duplicate review, because there's no way to remove them from Immich
I expected to see them in trash and empty the trash to remove all
A potential workaround might be to find all the asset IDs for the stuff I moved away and use the API to delete assets by ID
The OS that Immich Server is running on
ghcr.io/immich-app/immich-server:release
Version of Immich Server
v1.116.2
Version of Immich Mobile App
v1.0.0 (unused)
Platform with the issue
- [X] Server
- [X] Web
- [ ] Mobile
Your docker-compose.yml content
#
# 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}
extends:
file: hwaccel.transcoding.yml
service: cpu # set to one of [cpu, nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
volumes:
# Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
- "/mnt/fastShare/kidroca/Google_Photos_Takeout:/mnt/family/kidroca/Google_Photos_Takeout"
- "/mnt/fastShare/kidroca/PhotoSync:/mnt/family/kidroca/PhotoSync"
- "/mnt/d/Nadya_Google_Photos_Takeout:/mnt/family/nadeto/Google_Photos_Takeout"
- "/mnt/fastShare/nadeto/PhotoSync:/mnt/family/nadeto/PhotoSync"
env_file:
- .env
ports:
- 2283:3001
depends_on:
- redis
- database
restart: always
healthcheck:
disable: false
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}-cuda
extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration
file: hwaccel.ml.yml
service: cuda # set to one of [cpu, 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
healthcheck:
disable: false
redis:
container_name: immich_redis
image: docker.io/redis:6.2-alpine@sha256:2d1463258f2764328496376f5d965f20c6a67f66ea2b06dc42af351f75248792
healthcheck:
test: redis-cli ping || exit 1
restart: always
database:
container_name: immich_postgres
image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_DB: ${DB_DATABASE_NAME}
POSTGRES_INITDB_ARGS: '--data-checksums'
volumes:
# Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
- ${DB_DATA_LOCATION}:/var/lib/postgresql/data
healthcheck:
test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1
interval: 5m
start_interval: 30s
start_period: 5m
command: ["postgres", "-c", "shared_preload_libraries=vectors.so", "-c", 'search_path="$$user", public, vectors', "-c", "logging_collector=on", "-c", "max_wal_size=2GB", "-c", "shared_buffers=512MB", "-c", "wal_compression=on"]
restart: always
volumes:
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="/mnt/immich"
# The location where your database files are stored
DB_DATA_LOCATION=./postgres
# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
# TZ=Etc/UTC
# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=release
TZ=Europe/Sofia
# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=****
# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich
Reproduction steps
- Add external library
- Scan external library
- Remove files from external library
- Scan external library
- Go to trash
Observe: offline files (indexed files now missing in ext library) are not listed in trash
Relevant log output
[Nest] 7 - 09/30/2024, 12:00:00 AM LOG [Microservices:LibraryService] Refreshing library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for new assets
[Nest] 7 - 09/30/2024, 12:00:00 AM LOG [Microservices:LibraryService] Refreshing library d0bdd3ea-0b53-4093-bfca-d105c646f28c for new assets
[Nest] 7 - 09/30/2024, 12:00:00 AM LOG [Microservices:LibraryService] Scanning library d0bdd3ea-0b53-4093-bfca-d105c646f28c for removed assets
[Nest] 7 - 09/30/2024, 12:00:00 AM LOG [Microservices:LibraryService] Scanning library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for removed assets
[Nest] 7 - 09/30/2024, 12:00:00 AM LOG [Microservices:LibraryService] Refreshing library d0bdd3ea-0b53-4093-bfca-d105c646f28c for new assets
[Nest] 7 - 09/30/2024, 12:00:00 AM LOG [Microservices:LibraryService] Scanning library d0bdd3ea-0b53-4093-bfca-d105c646f28c for removed assets
[Nest] 7 - 09/30/2024, 12:00:00 AM LOG [Microservices:LibraryService] Refreshing library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for new assets
[Nest] 7 - 09/30/2024, 12:00:00 AM LOG [Microservices:LibraryService] Scanning library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for removed assets
[Nest] 7 - 09/30/2024, 12:00:24 AM LOG [Microservices:LibraryService] Finished queueing check of 41157 assets for library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37
[Nest] 7 - 09/30/2024, 12:00:25 AM LOG [Microservices:LibraryService] Finished queueing check of 41157 assets for library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37
[Nest] 7 - 09/30/2024, 12:00:29 AM LOG [Microservices:LibraryService] Finished queueing check of 79691 assets for library d0bdd3ea-0b53-4093-bfca-d105c646f28c
[Nest] 7 - 09/30/2024, 12:00:30 AM LOG [Microservices:LibraryService] Finished queueing check of 79691 assets for library d0bdd3ea-0b53-4093-bfca-d105c646f28c
[Nest] 7 - 09/30/2024, 2:00:00 AM LOG [Microservices:LibraryService] Refreshing library d0bdd3ea-0b53-4093-bfca-d105c646f28c for new assets
[Nest] 7 - 09/30/2024, 2:00:00 AM LOG [Microservices:LibraryService] Refreshing library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for new assets
[Nest] 7 - 09/30/2024, 2:00:00 AM LOG [Microservices:LibraryService] Refreshing library d0bdd3ea-0b53-4093-bfca-d105c646f28c for new assets
[Nest] 7 - 09/30/2024, 2:00:00 AM LOG [Microservices:LibraryService] Refreshing library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for new assets
[Nest] 7 - 09/30/2024, 2:00:00 AM LOG [Microservices:LibraryService] Scanning library d0bdd3ea-0b53-4093-bfca-d105c646f28c for removed assets
[Nest] 7 - 09/30/2024, 2:00:05 AM LOG [Microservices:LibraryService] Scanning library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for removed assets
[Nest] 7 - 09/30/2024, 2:00:06 AM LOG [Microservices:LibraryService] Scanning library d0bdd3ea-0b53-4093-bfca-d105c646f28c for removed assets
[Nest] 7 - 09/30/2024, 2:00:06 AM LOG [Microservices:LibraryService] Scanning library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for removed assets
[Nest] 7 - 09/30/2024, 2:00:25 AM LOG [Microservices:LibraryService] Finished queueing check of 41157 assets for library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37
[Nest] 7 - 09/30/2024, 2:00:25 AM LOG [Microservices:LibraryService] Finished queueing check of 41157 assets for library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37
[Nest] 7 - 09/30/2024, 2:00:30 AM LOG [Microservices:LibraryService] Finished queueing check of 79691 assets for library d0bdd3ea-0b53-4093-bfca-d105c646f28c
[Nest] 7 - 09/30/2024, 2:00:30 AM LOG [Microservices:LibraryService] Finished queueing check of 79691 assets for library d0bdd3ea-0b53-4093-bfca-d105c646f28c
[Nest] 7 - 09/30/2024, 4:00:00 AM LOG [Microservices:LibraryService] Refreshing library d0bdd3ea-0b53-4093-bfca-d105c646f28c for new assets
[Nest] 7 - 09/30/2024, 4:00:00 AM LOG [Microservices:LibraryService] Refreshing library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for new assets
[Nest] 7 - 09/30/2024, 4:00:00 AM LOG [Microservices:LibraryService] Refreshing library d0bdd3ea-0b53-4093-bfca-d105c646f28c for new assets
[Nest] 7 - 09/30/2024, 4:00:00 AM LOG [Microservices:LibraryService] Refreshing library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for new assets
[Nest] 7 - 09/30/2024, 4:00:00 AM LOG [Microservices:LibraryService] Scanning library d0bdd3ea-0b53-4093-bfca-d105c646f28c for removed assets
[Nest] 7 - 09/30/2024, 4:00:05 AM LOG [Microservices:LibraryService] Scanning library d0bdd3ea-0b53-4093-bfca-d105c646f28c for removed assets
[Nest] 7 - 09/30/2024, 4:00:05 AM LOG [Microservices:LibraryService] Scanning library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for removed assets
[Nest] 7 - 09/30/2024, 4:00:06 AM LOG [Microservices:LibraryService] Scanning library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for removed assets
[Nest] 7 - 09/30/2024, 4:00:24 AM LOG [Microservices:LibraryService] Finished queueing check of 41157 assets for library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37
[Nest] 7 - 09/30/2024, 4:00:25 AM LOG [Microservices:LibraryService] Finished queueing check of 41157 assets for library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37
[Nest] 7 - 09/30/2024, 4:00:29 AM LOG [Microservices:LibraryService] Finished queueing check of 79691 assets for library d0bdd3ea-0b53-4093-bfca-d105c646f28c
[Nest] 7 - 09/30/2024, 4:00:30 AM LOG [Microservices:LibraryService] Finished queueing check of 79691 assets for library d0bdd3ea-0b53-4093-bfca-d105c646f28c
[Nest] 7 - 09/30/2024, 4:02:37 AM LOG [Microservices:LibraryService] Importing new library asset: /mnt/family/nadeto/PhotoSync/2024/09/IMG_9007.PNG
[Nest] 7 - 09/30/2024, 4:02:37 AM WARN [Microservices:MetadataService] Asset 220e045c-4051-4043-b346-b3a3a8c9ef78 has no time zone information
[Nest] 7 - 09/30/2024, 4:02:38 AM LOG [Microservices:MediaService] Successfully generated WEBP image preview for asset /mnt/family/nadeto/PhotoSync/2024/09/IMG_9007.PNG
[Nest] 7 - 09/30/2024, 4:02:38 AM LOG [Microservices:MediaService] Successfully generated WEBP image thumbnail for asset /mnt/family/nadeto/PhotoSync/2024/09/IMG_9007.PNG
[Nest] 7 - 09/30/2024, 6:00:00 AM LOG [Microservices:LibraryService] Refreshing library d0bdd3ea-0b53-4093-bfca-d105c646f28c for new assets
[Nest] 7 - 09/30/2024, 6:00:00 AM LOG [Microservices:LibraryService] Refreshing library d0bdd3ea-0b53-4093-bfca-d105c646f28c for new assets
[Nest] 7 - 09/30/2024, 6:00:00 AM LOG [Microservices:LibraryService] Refreshing library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for new assets
[Nest] 7 - 09/30/2024, 6:00:00 AM LOG [Microservices:LibraryService] Refreshing library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for new assets
[Nest] 7 - 09/30/2024, 6:00:00 AM LOG [Microservices:LibraryService] Scanning library d0bdd3ea-0b53-4093-bfca-d105c646f28c for removed assets
[Nest] 7 - 09/30/2024, 6:00:00 AM LOG [Microservices:LibraryService] Scanning library d0bdd3ea-0b53-4093-bfca-d105c646f28c for removed assets
[Nest] 7 - 09/30/2024, 6:00:00 AM LOG [Microservices:LibraryService] Scanning library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for removed assets
[Nest] 7 - 09/30/2024, 6:00:00 AM LOG [Microservices:LibraryService] Scanning library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for removed assets
[Nest] 7 - 09/30/2024, 6:00:24 AM LOG [Microservices:LibraryService] Finished queueing check of 41157 assets for library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37
[Nest] 7 - 09/30/2024, 6:00:25 AM LOG [Microservices:LibraryService] Finished queueing check of 41157 assets for library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37
[Nest] 7 - 09/30/2024, 6:00:30 AM LOG [Microservices:LibraryService] Finished queueing check of 79692 assets for library d0bdd3ea-0b53-4093-bfca-d105c646f28c
[Nest] 7 - 09/30/2024, 6:00:31 AM LOG [Microservices:LibraryService] Finished queueing check of 79692 assets for library d0bdd3ea-0b53-4093-bfca-d105c646f28c
[Nest] 7 - 09/30/2024, 8:00:00 AM LOG [Microservices:LibraryService] Refreshing library d0bdd3ea-0b53-4093-bfca-d105c646f28c for new assets
[Nest] 7 - 09/30/2024, 8:00:00 AM LOG [Microservices:LibraryService] Refreshing library d0bdd3ea-0b53-4093-bfca-d105c646f28c for new assets
[Nest] 7 - 09/30/2024, 8:00:00 AM LOG [Microservices:LibraryService] Refreshing library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for new assets
[Nest] 7 - 09/30/2024, 8:00:00 AM LOG [Microservices:LibraryService] Scanning library d0bdd3ea-0b53-4093-bfca-d105c646f28c for removed assets
[Nest] 7 - 09/30/2024, 8:00:00 AM LOG [Microservices:LibraryService] Refreshing library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for new assets
[Nest] 7 - 09/30/2024, 8:00:00 AM LOG [Microservices:LibraryService] Scanning library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for removed assets
[Nest] 7 - 09/30/2024, 8:00:05 AM LOG [Microservices:LibraryService] Scanning library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for removed assets
[Nest] 7 - 09/30/2024, 8:00:05 AM LOG [Microservices:LibraryService] Scanning library d0bdd3ea-0b53-4093-bfca-d105c646f28c for removed assets
[Nest] 7 - 09/30/2024, 8:00:24 AM LOG [Microservices:LibraryService] Finished queueing check of 41157 assets for library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37
[Nest] 7 - 09/30/2024, 8:00:25 AM LOG [Microservices:LibraryService] Finished queueing check of 41157 assets for library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37
[Nest] 7 - 09/30/2024, 8:00:30 AM LOG [Microservices:LibraryService] Finished queueing check of 79692 assets for library d0bdd3ea-0b53-4093-bfca-d105c646f28c
[Nest] 7 - 09/30/2024, 8:00:30 AM LOG [Microservices:LibraryService] Finished queueing check of 79692 assets for library d0bdd3ea-0b53-4093-bfca-d105c646f28c
[Nest] 7 - 09/30/2024, 10:00:00 AM LOG [Microservices:LibraryService] Refreshing library d0bdd3ea-0b53-4093-bfca-d105c646f28c for new assets
[Nest] 7 - 09/30/2024, 10:00:00 AM LOG [Microservices:LibraryService] Refreshing library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for new assets
[Nest] 7 - 09/30/2024, 10:00:00 AM LOG [Microservices:LibraryService] Refreshing library d0bdd3ea-0b53-4093-bfca-d105c646f28c for new assets
[Nest] 7 - 09/30/2024, 10:00:00 AM LOG [Microservices:LibraryService] Refreshing library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for new assets
[Nest] 7 - 09/30/2024, 10:00:00 AM LOG [Microservices:LibraryService] Scanning library d0bdd3ea-0b53-4093-bfca-d105c646f28c for removed assets
[Nest] 7 - 09/30/2024, 10:00:00 AM LOG [Microservices:LibraryService] Scanning library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for removed assets
[Nest] 7 - 09/30/2024, 10:00:03 AM LOG [Microservices:LibraryService] Scanning library d0bdd3ea-0b53-4093-bfca-d105c646f28c for removed assets
[Nest] 7 - 09/30/2024, 10:00:05 AM LOG [Microservices:LibraryService] Scanning library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37 for removed assets
[Nest] 7 - 09/30/2024, 10:00:26 AM LOG [Microservices:LibraryService] Finished queueing check of 41157 assets for library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37
[Nest] 7 - 09/30/2024, 10:00:26 AM LOG [Microservices:LibraryService] Finished queueing check of 41157 assets for library 072fe9b3-c7eb-4551-b6ee-6d71898d2f37
[Nest] 7 - 09/30/2024, 10:00:32 AM LOG [Microservices:LibraryService] Finished queueing check of 79692 assets for library d0bdd3ea-0b53-4093-bfca-d105c646f28c
[Nest] 7 - 09/30/2024, 10:00:32 AM LOG [Microservices:LibraryService] Finished queueing check of 79692 assets for library d0bdd3ea-0b53-4093-bfca-d105c646f28c
Additional information
No response
@kidroca Can this be reproducible with a single external library?
@zackpollard, Can you help take a look at this issue? Thank you
I tried moving files around and renaming them (to create a new file and offline the old path) and they always end up in trash for me
@alextran1502
@kidroca Can this be reproducible with a single external library?
I've added all paths under the same external library, so any duplicates can be detected:
- "/mnt/fastShare/kidroca/Google_Photos_Takeout:/mnt/family/kidroca/Google_Photos_Takeout"
- "/mnt/fastShare/kidroca/PhotoSync:/mnt/family/kidroca/PhotoSync"
- "/mnt/d/Nadya_Google_Photos_Takeout:/mnt/family/nadeto/Google_Photos_Takeout"
- "/mnt/fastShare/nadeto/PhotoSync:/mnt/family/nadeto/PhotoSync"
But originally, the paths below were added to a separate external library
- "/mnt/d/Nadya_Google_Photos_Takeout:/mnt/family/nadeto/Google_Photos_Takeout"
- "/mnt/fastShare/nadeto/PhotoSync:/mnt/family/nadeto/PhotoSync"
Initially I created 2 external libraries, but later realized that this won't detect duplicates across different external libraries
I didn't want to lose all indexing / thumbnails / face recognition of the 2nd external library, so I didn't remove it.
Now I have one external library that contains everything and a 2nd external library, that contains a subset.
I guess I should have started with a single library and split into 2 only after sorting out the duplicates
In any case I've removed about 6000 files flagged as duplicates by Immich. Reviewing individual files via the duplicates utility confirms they are offline, but the /trash view is empty
I've just removed a bunch of videos outside of Immich and rescanned libraries and the removed videos do appear in the trash
I don't think these videos were flagged as duplicates by Immich, could this be the problem?
The assets flagged as duplicates don't appear in trash, because they are flagged as duplicates and somehow this takes priority over listing them in trash?
I think I've run into the same/similar problem on v1.121.0.
For my immich_server container, the volume mapping for the external library is as follows:
/ExtHDD/External-Libraries:/usr/src/app/external:ro
I had a bunch of assets in /ExtHDD/External-Libraries/Old-Folder that were scanned into Immich.
I then renamed it to /ExtHDD/External-Libraries/New-Folder and all those assets were scanned into Immich. I also ran the Library job.
However, none of the Old-Folder assets have been moved to the trash or marked as offline. I know they are not offline because I tried to use Immich Folder Album Creator to delete offline assets, and it said it didn't find any. Unless that tool is having issues finding offline assets.
I see assets in Immich (web UI) that have the Old-Folder path and duplicate assets with the New-Folder path.
Why aren't the Old-Folder assets set to offline and in the trash?
I think I've run into the same/similar problem on
v1.121.0.For my
immich_servercontainer, the volume mapping for the external library is as follows:/ExtHDD/External-Libraries:/usr/src/app/external:roI had a bunch of assets in
/ExtHDD/External-Libraries/Old-Folderthat were scanned into Immich.I then renamed it to
/ExtHDD/External-Libraries/New-Folderand all those assets were scanned into Immich. I also ran the Library job.However, none of the
Old-Folderassets have been moved to the trash or marked as offline. I know they are not offline because I tried to use Immich Folder Album Creator to delete offline assets, and it said it didn't find any. Unless that tool is having issues finding offline assets.I see assets in Immich (web UI) that have the
Old-Folderpath and duplicate assets with theNew-Folderpath.Why aren't the
Old-Folderassets set toofflineand in the trash?
If you check the immich trash folder, are the assets there? If not, can you see the assets in the timeline?
You can also directly check if an asset is offline by inspecting its json.
Check the URL of the page and note the UUID
In Chrome F12, go to the Network tab and click F5.
Select the request corresponding to the asset
In the Response tab, check the asset info json:
Thanks for your reply. I will find some time to test over the next week.
Ver : V1.124.0
External Library (read only)
I have removed the file in NAS. And immich can detected it and show in Trash View. But when I try to click "Empty trash". It not work and the image still show in Trash View.
We currently have it so that emptying trash does not remove offline files. That's a design decision as this point though it might change in the future. Offline files will be removed after 30 days. I know the author of immich-power-tools has a feature to delete offline files at this point if you really want to
@etnoy Thanks for suggestion. But you just give me a idea. If I change the Trash Setting to 7 days, will it remove offline files early?
@etnoy Thanks for suggestion. But you just give me a idea. If I change the Trash Setting to 7 days, will it remove offline files early?
That is correct, it will then remove them after 7 days
Closing this issue for now, if it's still an issue in the latest version, please reopen and provide information that I requested above.
I'm in the same boat. I have images that moved locations within the same external library and are picked up as duplicates. I can see them in the timeline, as well as in the duplicate utility. Their JSON is showing 'isOffline: true'.
The offline assets do not show up in the trash, and emptying the trash after the grace period (30 days in my case) does not remove anything.
I've used various tools (like Thoroslives' immich_remove_offline_files script), but none actually find any offline files to remove.
Note that I've had this issue for over 2 months, across many versions of Immich. Currently running v1.124.2.
I'm in the same boat. I have images that moved locations within the same external library and are picked up as duplicates. I can see them in the timeline, as well as in the duplicate utility. Their JSON is showing 'isOffline: true'.
The offline assets do not show up in the trash, and emptying the trash after the grace period (30 days in my case) does not remove anything.
I've used various tools (like Thoroslives' immich_remove_offline_files script), but none actually find any offline files to remove.
Note that I've had this issue for over 2 months, across many versions of Immich. Currently running v1.124.2.
Would you be willing to post the full json for the problematic assets? Redact any sensitive data
Here's the full JSON for one of those files:
{
"id": "7f0f5370-a132-4842-b947-932885e7fcc9",
"deviceAssetId": "file130.jpg",
"ownerId": "[redacted]",
"owner": {
"id": "[redacted]",
"email": "[redacted]",
"name": "[redacted]",
"profileImagePath": "",
"avatarColor": "red",
"profileChangedAt": "2024-11-05T14:26:24.331Z"
},
"deviceId": "Library Import",
"libraryId": "8469af06-5a1d-4d74-bd14-797e33a2ee76",
"type": "IMAGE",
"originalPath": "/mnt/zfs-pool-18tb/Pictures/oldpath/file130.jpg",
"originalFileName": "file130.jpg",
"originalMimeType": "image/jpeg",
"thumbhash": "yScGDYRfZpZIpXh5lrd5VoaAcsC3",
"fileCreatedAt": "2013-01-18T21:12:43.000Z",
"fileModifiedAt": "2013-01-18T21:12:44.000Z",
"localDateTime": "2013-01-18T22:12:43.000Z",
"updatedAt": "2024-12-04T10:50:12.591Z",
"isFavorite": false,
"isArchived": false,
"isTrashed": false,
"duration": "0:00:00.00000",
"exifInfo": {
"make": "Canon",
"model": "Canon EOS 20D",
"exifImageWidth": 2628,
"exifImageHeight": 1752,
"fileSizeInByte": 416336,
"orientation": "1",
"dateTimeOriginal": "2013-01-18T21:12:43.000Z",
"modifyDate": "2013-01-18T21:12:43.000Z",
"timeZone": null,
"lensModel": null,
"fNumber": 4.5,
"focalLength": 21,
"iso": 100,
"exposureTime": "1/10",
"latitude": null,
"longitude": null,
"city": null,
"state": null,
"country": null,
"description": "",
"projectionType": null,
"rating": null
},
"livePhotoVideoId": null,
"tags": [],
"people": [
{
"id": "b8ffdc38-338a-44fa-b852-588b19b5c05a",
"name": "",
"birthDate": null,
"thumbnailPath": "",
"isHidden": false,
"updatedAt": "2024-11-09T23:04:16.854Z",
"faces": [
{
"id": "848ef03b-27a9-44e6-be0e-e3b9c05df1f4",
"imageHeight": 1440,
"imageWidth": 2160,
"boundingBoxX1": 1152,
"boundingBoxX2": 1257,
"boundingBoxY1": 252,
"boundingBoxY2": 393,
"sourceType": "machine-learning"
}
]
}
],
"unassignedFaces": [],
"checksum": "/aQJgQzodyzkoU4BuQPmYkmy+xY=",
"stack": null,
"isOffline": true,
"hasMetadata": true,
"duplicateId": "543910a4-5184-4d73-82db-44569c34f377",
"resized": true
}
What's most weird to me is that none of the 3rd party tools (like Thoroslives' immich_remove_offline_files script) pick up on the offline files:
It seems weird that is has isOffline: true but isTrashed: false. IIRC it's supposed to be either both or none.
Take a database backup, then connect to your database with psql or similar SQL tool. Then run an update on the assets column to set all assets to isOffline = true and report back. It's likely set in some limbo state so that neither immich nor other tools are understanding the issue
Yeah, figured that Immich doesn't have a way in the UI to deal with files that are offline but not in trash.
I used the following code to remove files that were in the old folder:
$ sudo docker exec -it immich_postgres bash
# su postgres
$ psql
\c immich
SELECT * FROM assets WHERE "originalPath" LIKE '%/old folder/%';
DELETE FROM assets WHERE "originalPath" LIKE '%/old folder/%';
What's most weird to me is that none of the 3rd party tools (like Thoroslives' immich_remove_offline_files script) pick up on the offline files:
These tools (mine as well) rely on the search returning offline images. For quite some time, the search no longer returns assets that are offline and/or trashed.