github crosspoint-reader/crosspoint-sync koreader-v0.2.6
CrossPoint Sync for KOReader 0.2.6

one hour ago

Install by extracting crosspoint-koreader.zip into KOReader's plugins folder and restarting KOReader. The plugin is now named CrossPoint Sync, with Last sync result in its menu. Existing account settings are preserved.

Fixes the HTTP 400 caused by Turbo appending four extra CRLF bytes beyond the declared Content-Length. The plugin now sends exactly the declared body length, preserving the payload and its own trailing newlines.

Reproduced with the real Turbo 2.1.5 / LuaSocket / LuaSec stack: 100 KB and 500 KB requests returned a proxy-level 400 before the framing fix. With the fix, 100-byte, 100 KB and 500 KB synthetic unauthenticated requests all reached the application's JSON 401 response. No credentials or reader data were sent. This verifies hosted transport/framing. Separate authenticated imports of 100, 1,000 and 5,000 synthetic page records passed against an ephemeral local server. A full sync on a physical KOReader device still needs verification.

Retains the 0.2.5 partial-write retries and background-process uploads. TLS settings and server data are unchanged.

Connection error codes and messages remain available under CrossPoint Sync → Last sync result.

Includes the 0.2.3 checkpoint compatibility fix and the CrossPoint Sync rename.

After one-time setup, reading statistics, highlights, notes and bookmarks upload automatically after successful Progress sync to the same CrossPoint server and account. Manual full-history sync is also available.

Annotations upload from the open book, including edits and deletions. Open each older book and push progress to backfill its annotations. Annotation sync is upload-only; downloading annotations into KOReader and firmware integration are not included.

Fixes the UI freeze in plugin 0.2.1: uploads now run in a separate background process with Turbo UI mode enabled or disabled. Slow requests no longer occupy the reading UI. Suspend cancels uploads, stuck jobs have a five-minute deadline, and acknowledged batches are checkpointed for retries. TLS certificate verification remains enabled.

Validated with Lua/LuaJIT sync checks and real-process responsiveness tests covering delayed work, cancellation, worker crashes, deadlines and checkpoint recovery. Full KOReader emulator and real-device testing are still needed.

Setup and usage instructions

Use CrossPoint Sync server v0.2.0 or newer for this release. Plugin installation alone does not update the server.

Don't miss a new crosspoint-sync release

NewReleases is sending notifications on new releases.