Skip to content

CrossPoint Sync for KOReader 0.2.3

Choose a tag to compare

@itsthisjustin itsthisjustin released this 13 Nov 20:15

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 checkpoint writer's use of an FFI constant not exposed by KOReader, which could cause uploads to report that the background worker stopped without a usable result. Uses KOReader's supported private temporary-file API and reports worker errors, cancellation and deadlines separately.

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.