prune_missing_photos previously skipped every photo whose source root path didn't resolve, on the assumption that a missing path meant the underlying drive was unmounted (and silently deleting under those conditions would be data loss). That conflated 'drive unmounted' with 'user renamed the folder in their file manager'. A library with 4,154 orphaned photo rows from a since-renamed Nextcloud folder hit exactly this case: the /nextcloud-users mount was fine, but the source root path 'Taco and Muli - 2024 onward' no longer existed because the user had renamed it to 'Photo Archive 2004-2024'. Every photo under it was reported as skipped_unmounted forever. Classify source root state as present/renamed/unmounted by checking whether the immediate parent is readable. 'renamed' is now treated as prunable; 'unmounted' still skips. Warning messages differ so the user knows which fix to apply. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
12 KiB
12 KiB