ab935f8510
Deleting a book imported via "Import From Directory" with "Read books in place" ran fs.removeFile on the user's own source file, permanently destroying the original (it was not even moved to the Recycle Bin). Cloud sync only uploads after a successful sync, so unsynced originals were unrecoverable. deleteBook now only removes files Readest created: the managed copy under Books/<hash>/ and the app-generated sidecars (cover.png, plus the whole Books/<hash>/ dir on purge). External sources (book.filePath, base 'None', covering in-place and transient imports) are never touched. This reverses behavior that was previously deliberate and tested; the in-place tests now assert the source file is preserved across local/both/purge while sidecar removal is unchanged. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>