What
After #45, a rescan archives any local book whose folder is gone. Archive, not delete, so a returning folder restores the card in place. But a book deleted inside a root folder the app still holds stays archived forever:
- The Orphaned Books sweep (Settings > Permanently remove data) only targets libraries whose whole root lost permission, not archived rows inside an accessible root.
- The Archive filter is a paid tab, so a paying user who deletes book folders over time sees every one of them listed there with no explanation.
- Each archived row keeps its local cover file on disk, so heavy reorganizers accumulate thumbnails slowly.
Also
An archived row wakes up if any book lands at the same folder path and name later, and hands it the old listening position. Acceptable for a returning folder, surprising for a different book with the same folder name.
Proposed shape
One of:
- Age out archived local rows whose folder has been absent across N rescans or N days, cascading the same cleanup the Orphaned Books sweep does.
- An "empty archive" action beside Orphaned Books that deletes archived local rows in accessible libraries, with the same warning copy.
Either way, the Archive tab copy for local books should say why a book is there ("folder not found since ").
Related: #20, #45, #46.
🤖 Generated with Claude Code
What
After #45, a rescan archives any local book whose folder is gone. Archive, not delete, so a returning folder restores the card in place. But a book deleted inside a root folder the app still holds stays archived forever:
Also
An archived row wakes up if any book lands at the same folder path and name later, and hands it the old listening position. Acceptable for a returning folder, surprising for a different book with the same folder name.
Proposed shape
One of:
Either way, the Archive tab copy for local books should say why a book is there ("folder not found since ").
Related: #20, #45, #46.
🤖 Generated with Claude Code