When a book fails to open, a '!' button appears next to it in the list. Clicking it prompts for the original file; the file is re-encrypted with the current key and replaces the broken ciphertext on the server while keeping all metadata, progress, highlights and bookmarks intact. - Add POST /books/<pk>/replace-data/ endpoint (updates data only) - Add _evictCachedBook() to clear IndexedDB cache for a single book - Replace complex client-side re-encryption on password change with a simple confirm() warning that books will need to be re-uploaded Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| app.js | ||
| jszip.min.js | ||
| pdf.min.js | ||
| pdf.worker.min.js | ||
| sw.js | ||