github van-geaux/lagrange-reader v1.4.1
Lagrange 1.4.1

4 hours ago

Lagrange 1.4.1

Features

  • 05a7f9c Added pull-down/swipe-to-refresh to Book Detail, Series, Authors, Local books, Statistics, and Achievements.
    • Automatic/background synchronization remains silent; an explicit swipe shows the indicator immediately and keeps it visible through success, failure, or cancellation.
    • Duplicate manual requests are ignored, and failed refreshes retain the last successful content where applicable.
    • Local books refresh does not interrupt active downloads or destructive actions.
  • 05a7f9c Added user-selectable EPUB fonts, including built-in, accessibility, and custom font selection.
    • EPUB-only font controls use a grouped dropdown with Publisher default, System serif, System sans-serif, and System monospace, plus a separate Accessibility fonts section with AccessibleDFA and OpenDyslexic.
    • Users can import one active .ttf/.otf custom font per library, with Replace and Remove actions; the selection persists alongside existing size, theme, margin, direction, layout, and resume behavior.
    • Publisher default preserves the book's own CSS as a fallback; built-in choices are mapped through Readium's typeface preferences, while custom fonts are applied only to a cached rewritten reader copy, leaving the original EPUB unmodified.

Improvements

  • 05a7f9c Kept the continuous EPUB right-side seek rail usable for active-chapter percentage navigation.
    • Continuous EPUB mode keeps the rail enabled even when Readium reports a single page/item, represents active-resource progression from 0–100%, and seeks directly by normalized progression.
    • Whole-book progress is unchanged, and paginated EPUB, PDF, and comic page-index rails retain their existing behavior.
  • 05a7f9c Introduced staged app-open loading and hid the automatic startup refresh indicator.
    • The initial implementation uses a staged branded startup state with phase-specific messages and releases the platform splash before session validation when no cache is available.
    • The automatic Home refresh indicator is hidden during startup reconciliation while user-initiated pull-to-refresh feedback is preserved.

Fixes

  • 05a7f9c Show server-missing books with a yellow Missing! cover overlay and make their file-dependent actions unavailable.
    • The current BookOrbit server catalog is treated as authoritative after reconciliation; server-returned books tagged/state missing remain visible with the overlay and label, distinct from a locally deleted download.
    • Actions requiring an available file are unavailable or hidden for server-missing books, while an existing transfer can still be cancelled and an existing local copy can still be deleted.
  • 05a7f9c Removed repository-proven unreachable code, including the unused stream URL helper, the legacy EPUB system-bar composable, obsolete Readium audio position/seek calculations, and the unused legacy EPUB parser/extractor graph, while preserving the active EpubWebViewAssetSession and epubChapterBaseUrl reader-resource path.

Others

  • Compatibility and validation:
    • Pull-to-refresh across Book Detail, Series, Authors, Local books, Statistics, and Achievements was verified by automated tests and user-confirmed on-device.
    • The continuous EPUB active-resource seek rail was user-confirmed working on-device.
    • EPUB built-in, accessibility, and custom font selection were verified with focused preference, mapping, custom-font validation, settings-preservation, and UI regression tests, and user-confirmed on the complete reader-font flow.
    • Staged startup and the hidden automatic startup refresh indicator are covered by JVM coordinator tests; physical startup timing/UX validation and any follow-up tuning remain open.
    • Server-missing book display and file-dependent action restrictions were covered by focused regression tests for parsing, persistence, and action-state behavior, and user-confirmed working on-device.
    • Unreachable-code removal was verified by repository analysis confirming no remaining call sites before deletion.
  • Known limitations:
    • Physical startup timing/UX validation for the staged startup flow remains open, and further tuning may follow.
    • Native AppAuth/Custom Tabs OIDC remains deferred until BookOrbit provides the required mobile redirect allow-list support and the identity-provider callback is registered.
  • Upgrade notes:
    • No migration action is required for existing readers, downloads, progress, or local audiobook history.
    • Existing per-library reader preferences, including size, theme, margin, direction, layout, and resume behavior, remain unaffected by the new font selection.

Don't miss a new lagrange-reader release

NewReleases is sending notifications on new releases.