mirror of
https://github.com/rmcrackan/Libation.git
synced 2026-09-15 07:08:35 -04:00
Two follow-ups to making the trash visible. Log every change to it. Startup already reported LibraryBooksInTrash as part of 'Initial database statistics'; now moving books to the trash, restoring them and permanently deleting them each log the action, how many books, and the resulting trash total. Reading the count must never fail the change that succeeded, so it degrades to a warning. Explain an empty filter result. A trashed book is filtered out of both the library and the search index, so searching for one returns nothing and looks exactly like a book that was never imported - which is how issue #1925 went a week without an answer. When a filter matches nothing, the grid now says so, and when the same filter matches something in the trash it says that too and offers a button to open it. The trash is indexed on demand rather than kept in step. Filtering runs on Enter or the Filter button, never per keystroke, so the work happens at human speed and only after the library has already come up empty. TrashBinSearch reuses the library's query syntax, so a fielded query means the same thing in both places, and returns nothing rather than throwing since it only powers a hint. Co-authored-by: rmcrackan <rmcrackan@gmail.com>