What's new
🧠 Bionic Reading
- Subtle mode fixed —
bionicReadingModenow flows through layout, rendering, and section cache, so Subtle actually uses the lighter 30 % prefix threshold instead of behaving like Normal. Closes #107.
🔌 Plugin Browser
- Long-press menu — hold
Confirmon a plugin to open options:- Toggle reboot behavior between live in-process and silent reboot
- Delete plugin with confirmation
- Badge cleanup — reboot badges are shifted left and no longer clipped vertically
- In-process launch stability — cached layout data to reduce per-frame allocations and freed cached state before launching plugins without reboot
- Silent reboot fixed — reboot target constants aligned with
SilentRestartenum, so plugins launched with reboot now actually start after restart
🎨 Batch cover generation
- New Settings action —
Generate all coversin Settings → Apps → Library - Incremental scan — scans the library in batches and shows
Scanning... X/Y (Z missing)so the UI no longer looks stuck - Cover detection aligned with Library — reuses the same readiness checks as the library viewer, so existing valid covers are not regenerated
- Progress during generation — shows
Creating cover x/ywith the current book title - Cancellation — press
Backduring generation to return to Settings - Auto-sleep protection — deep sleep is disabled during generation and restored on exit
- Per-cover timeout — each cover gets a 15s budget; stalled items are skipped and generation continues with the next book
- Layout-aware sizes — cover dimensions now match the current library layout (
4x4,3x3,2x2)
🛠️ Under the hood
- Section cache serialization now includes
bionicReadingMode, preventing cache mismatches after reboot - Faster batch library scanning by processing more pages per loop iteration