mirror of
https://github.com/rmcrackan/Libation.git
synced 2026-09-14 22:58:07 -04:00
scanAccountsAsync swallows a per-account failure so the remaining accounts can still scan. That is right for importing, which only adds and updates, but FindInactiveBooks treats whatever came back as the whole library and reports every un-liberated book missing from it as no longer in the account. For a single-account user a login or network failure therefore yields an empty scan, and 'Remove Books' pre-checks the entire un-liberated library. ImportAccountAsync already guards itself with 'if (totalCount == 0) return default;'; this path had no equivalent. Track which accounts failed and refuse to identify inactive books when any did, or when a scan returns nothing while books are at stake. Both grids already catch and report a failed scan with 'Error scanning library. You may still manually select books to remove', so throwing lands in the right place and leaves nothing checked. Also log how many books the scan found absent, so the count behind a removal prompt is visible after the fact. Co-authored-by: rmcrackan <rmcrackan@gmail.com>