Fixed
- Grab FK constraint crash — clicking Grab on a search result no longer fails with a foreign-key violation;
bookId/indexerIdare now treated as optional nullable fields so free-text search grabs always succeed (#285) - Audiobook search details blank page —
SearchDebug.Filtersis now initialised to an empty slice instead ofnull, preventing a JS crash inSearchDebugPanelthat was more likely to trigger on audiobook searches (#282) - ISBN lookup cryptic error — unknown ISBNs now surface a friendly "No book found for ISBN X. Check the number, or try searching by title instead." message instead of a misleading upstream-unavailable error (#284)
Improved
- Calibre Test Connection feedback — the Test Connection button now shows ✓/✗ prefixes and the exact plugin reachability message; stale results are cleared whenever Calibre settings are saved (#262)