No description
  • C++ 98%
  • Shell 1.1%
  • CMake 0.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-13 16:27:37 +02:00
docs Merge main into bidirectional-sync 2026-08-13 16:27:08 +02:00
images Add launcher icon assets and device-side setup docs 2026-07-17 14:04:07 +02:00
scripts Add a sync dry run: real decision path, real data, no writes 2026-08-13 14:45:01 +02:00
src Merge main into bidirectional-sync 2026-08-13 16:27:08 +02:00
tests Merge main into bidirectional-sync 2026-08-13 16:27:08 +02:00
third_party Phase 1: KavitaClient + Config core (tested, cross-compiles) 2026-07-14 11:45:47 +02:00
tools Ask which state is right, and sync that one 2026-08-13 14:52:22 +02:00
.gitignore Phase 1: KavitaClient + Config core (tested, cross-compiles) 2026-07-14 11:45:47 +02:00
CMakeLists.txt Render book covers in colour on the Kaleido screen 2026-07-17 23:16:11 +02:00
README.md Phase 0: toolchain + on-device DB spike 2026-07-14 11:21:37 +02:00

PocketBook ⇄ Kavita Sync

A native app for the PocketBook InkPad Color 3 that syncs reading status and books with a Kavita server over WiFi — the sync PocketBook Cloud doesn't provide for Kavita users.

Features (target): in-app config panel, library browser to load/unload books, reading progress/status sync, and Kavita collections mirrored as device folders. Reading happens in the native PocketBook reader.

See the approved plan in docs/ and the current step-by-step in docs/phase0-runbook.md.

Status

Phase 0 — toolchain + on-device spike. A hello-world app (src/main.cpp) to prove the build and deploy pipeline on real hardware, plus discovery of the device's reading-state database.

Building

Requires Docker. The build runs inside the PocketBook SDK image, which provides the ARM cross-compiler — you do not install the SDK or CMake on your Mac.

./scripts/build.sh

Output: build/kavita-sync.app.

Your editor will flag inkview.h as "not found" — that's expected. That header lives only in the SDK sysroot inside the Docker image; the code compiles there, not on the host.

Installing on the device

  1. Connect the InkPad Color 3 via USB and choose PC Link on the device.
  2. Copy build/kavita-sync.app into the device's applications/ folder.
  3. Eject, then launch Kavita Sync from the device's Applications menu.

Architecture (planned)

KavitaClient (REST/libcurl) · DeviceLibrary (filesystem + on-device SQLite) · SyncEngine (orchestration, unit-tested off-device) · ConfigStore · UI (inkview) · triggers/ (app-open / WiFi-connect / on-wake). See the plan for details.