Skip to content

BeePub v0.4.0

Choose a tag to compare

@oalieno oalieno released this 10 Jul 05:42
db35380

Highlights

  • OPDS catalog at /opds — browse, search, and download your libraries from KOReader, Readest, or any OPDS 1.2 client, authenticated with your BeePub username and password.
  • KOReader progress sync at /kosync — a kosync-compatible sync server, same credentials. Devices sync their exact reading positions with each other through BeePub, and what you read on a device shows up in BeePub: the book is marked as currently reading and its progress percentage follows your e-reader.
  • Device position in the web reader: opening a book you've been reading on an e-reader jumps straight to the device position (books never opened on the web), or offers the jump in a dialog when the web reader has its own position.
  • Large books open fast: reading-locations generation dropped from tens of seconds to about two (removed a per-section throttle, sections now prefetch concurrently), and the result is shared server-side — only the first reader of each book ever computes it, every other user, device, or browser downloads it.

Fixes

  • Reading progress is saved immediately even while locations are still generating. Very large books could previously fail to save any position and always reopened at page one.
  • Bulk jobs: pending counters are scoped to the run's generation, so stale or double-started runs can no longer corrupt the admin display, and the orchestrator no longer queues behind its own leftover per-book tasks.

Setup notes

  • Point KOReader/Readest at sync server https://<host>/kosync and OPDS catalog https://<host>/opds.
  • Accounts created before v0.4.0 need one web login to enable device sync (the sync key is derived at login).
  • Download books through OPDS so the file on the device is byte-identical to the server's — progress sync matches books by file digest.

Internal

  • KOReader document digests for existing libraries are backfilled by a new admin-visible bulk job (auto-starts in the background).
  • Migration 047 adds the shared book_locations table.