Settings
Status ready
- Immich
- v3.1.0
http://ix-immich-server-1:30041 - Database
- Postgres 18.2 read-only, vchord 0.5.3
- Mode
- live deletions are real
- Build
e53954f6dfa1· /health
Library — Beck
- Photos
- 13,406 on the timeline
- Videos
- 798
- To review
- 1,857 photo groups (8,987 photos)
- Last scan
- 2026-08-13T12:13:30 — done
- Stacked, reviewable
- 120 Assets that sit in an Immich stack. Every one of them is reviewed individually — each is its own tile and its own decision, and members of a stack are grouped together on screen. On confirm the stack is dissolved, the unticked members are trashed, and whatever survives is re-stacked, or left as a standalone photo if only one is kept. Counts change only after a scan — the queue is stored, so a stack split by a code change stays collapsed until you rescan.
What can be grouped at all
Every signal has a precondition. A photo meeting none of them can only ever be offered on its own, however obvious its duplicate — so this is the first thing to read when grouping looks like it is missing things.
| Signal | Covers | Needs |
|---|---|---|
| Burst | 11,840 of 13,406 | EXIF make and model. Exports frequently strip both. |
| Visual similarity | 13,406 of 13,406 | A CLIP embedding. Missing ones are Immich's Smart Search job, not this app. |
| Immich duplicates | 55 | Immich's own duplicate detection having run. |
| Stacks | 108 | Stacked in Immich, by you or by auto-stacking. |
| No signal at all | 0 | Can never be grouped. These reach single review only. |
Last scan
| Photos considered | 39,716 already-decided ones are skipped |
| Grouped | 15,882 into 6,090 groups |
| Left as singles | 23,834 |
| Links by signal | burst 27,120 · stack 1,636 · duplicate 0 · similarity 0 |
| No camera identity | 9,479 invisible to burst linking |
Grouping and recommendations
Similarity threshold
How alike two photos must be to land in the same group. Lower is stricter. There is no universally correct value — it depends on the library — so this re-groups over cached distances and answers instantly instead of needing a rescan to evaluate.
…
Set the value you settle on in Similarity threshold below, then Save and scan again.
Cleanup
Video clips left behind when the photo half of a Live Photo was deleted. They are invisible everywhere in Immich, so nothing else will ever surface them.
- Orphaned clips
- 5, 9 MB — review them
Start over
Clears every decision — kept, trashed and skipped alike — for all 2 libraries, then rescans. Every photo becomes reviewable again as though this app had never been run.
Not an undo. Photos already trashed in Immich stay trashed — this clears the record of decisions, it does not reverse them. To bring deleted photos back, use Immich's own trash screen while they are still inside its 30-day window.
Kept: the deletion audit trail, and the sharpness and CLIP caches. Those hold no decisions, and discarding them would only mean recomputing hours of identical work.
Advanced
Test the delete path on one asset — shows the database state before and after, and the exact request sent. This is how the delete path was proven before the review screen existed; use it after any change to how deletion works.
Progress and the action log. To check
the app's account of itself against the database, run
verify.sh on the NAS — the app must not be the only witness to
its own behaviour.