Lagrange Reader 1.2.1 — Release Notes
Fixes
- Fixed resume position being stale on normal online book opens: the app now synchronizes pending progress and refreshes authoritative server progress (ebook
GET .../progressor audiobookGET .../audio-progress) before opening the reader, instead of relying only on local/cached data. This applies to ebooks, audiobooks, PDFs, and comics alike. - Fixed PDF, CBZ, CBR, and CB7 resume landing on the wrong page: an EPUB-only one-based page-number conversion was previously applied to all media types, off-by-one against BookOrbit's zero-based page numbers. Only EPUB's legacy chapter/page fallback still applies that conversion.
- Fixed EPUB resume opening at the start of the current chapter instead of the actual reading position, most noticeable right after a fresh install. Normal EPUB Read now selects the real generated Readium position at or immediately before the authoritative server percentage instead of estimating position from equal-sized chapters.
Validation
- JVM parser, coordinator, and reader-routing regressions pass.
- Confirmed on a physical device: a newly installed app now resumes an EPUB away from the chapter start at the expected position.
Known limitations and deferred work
- Exact cross-client CFI interoperability with BookOrbit/Foliate full CFIs remains deferred; EPUB position selection uses Readium's generated positions rather than an exact CFI conversion.
- Direct OIDC/SSO authentication remains deferred pending a confirmed BookOrbit provider and redirect contract.
Upgrade notes
- Release APKs are distributed as GitHub Release assets rather than committed to the repository.
- This tag uses the signed GitHub Actions release workflow.