Skip to content

v1.35

Latest

Choose a tag to compare

@trulow trulow released this 05 Sep 19:03
· 1 commit to main since this release

Everything since v1.19.

Fixed — sync

  • A finished chapter never reached the server. Finishing a chapter queued
    read, but a final page-progress record then replaced that queued row with
    progress — carrying the read flag correctly, and then having it stripped on
    the way out, because progress pushes deliberately omit isRead. The device
    showed the chapter read, the queue drained successfully, and every sync
    reported nothing to do. isRead is now withheld only when the queued change
    does not know the chapter is read, and a progress record no longer overwrites
    an explicit read or unread already waiting to send.
  • Marking a chapter unread on the server was undone. Our sync metadata is
    not removed when another client changes the read flag, so the plugin saw its
    own last write beside a state that no longer matched, treated that as a tie,
    and pushed read straight back. When there is nothing unsent locally, the
    server now wins — in both directions. An unsent local change still takes
    precedence, so a read you have just made is never lost.
  • Queued changes were never sent after reconnecting. The outbox only
    drained on a manual sync or on opening a chapter list. It now also drains
    when Wi-Fi returns and when the bookshelf opens.
  • Finishing a chapter did not mark it read in the list or the cache. Only
    the long-press "Mark read" did that, so offline — where nothing refreshes —
    a finished chapter went on showing unread.
  • An expired login was not renewed. The server reports authentication
    failures inside a normal response rather than as an HTTP error, so the
    automatic token refresh never triggered and pushes failed until you logged in
    by hand.
  • Queue writes are now verified, so a change can no longer be recorded locally
    while silently failing to queue.

Fixed — navigation

  • KOReader could exit to the device home screen after reading, when closing
    the chapter list and then the bookshelf. Opening a chapter closes all three
    plugin views, so nothing remained underneath, and an empty screen ends the
    application. The file browser is now restored before the last view closes.
  • Closing the chapter list returned to the bookshelf instead of the manga
    you were reading. The way back is now chapter list → manga details →
    bookshelf → file browser.

Fixed — bookshelf

  • The chosen sort was silently reverted. Opening the shelf sorted the
    cached list correctly, then a background refresh replaced it with the
    server's own order — title ascending — while the header still named your
    sort.
  • The header now names the sort that was actually applied, not the one
    requested, in the rare case a library has no data to sort on.

Changed

  • Sort the bookshelf by last read or by newest chapter. Sorting by date
    added has been removed: for a library built months ago it answers no useful
    question. A saved "Recent" preference becomes "Newest".

Added

  • Debug → Sync diagnostics now reports the path index, the open document
    and whether it is recognised, unsynced chapter states, the queued rows with
    their recorded errors, and a warning when a change is marked unsynced but
    never queued. It no longer requires a network connection to show local
    findings, and it never writes to the server.

Performance

  • Cover statistics were quadratic — the stale count scanned the whole cache
    directory once per manga. Now a single pass.
  • Menu labels no longer recompute six filesystem, database and JSON operations
    on every draw.
  • Chapter lists did one file check per chapter; a 500-chapter series meant 500
    system calls each time the list opened. Now one directory listing.

Notes

  • Upgrading is a straight folder replacement. Settings, covers, downloads and
    queued sync changes are untouched.
  • 1135 assertions across 20 spec files, clean luacheck run across 42 files.

Full Changelog: v1.19...v1.35