Phase 1 (core): KavitaClient + Config, tested & live-verified #2
Loading…
Reference in a new issue
No description provided.
Delete branch "refs/pull/2/head"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The portable, unit-tested core that talks to Kavita. This is the backend half of Phase 1; the inkview UI and load/unload land in a follow-up.
What's here
Config— JSON round-trip of Kavita base URL, API key, and selected library ids.KavitaClient—authenticate(JWT viaPlugin/authenticate),listLibraries,listSeries(the realPOST /api/Series/v2filter),listVolumes(volumes → chapters → files). Depends only on an injectableHttpClient, so it's fully unit-testable.CurlHttpClient— libcurl transport (system curl on host, SDK curl on device).scripts/test.shruns them natively via clang++ (no Docker).tools/kavita_probe.cpp+scripts/probe.sh, verified live against the real server (auth + full library walk).Verification
./scripts/test.sh→ 7/7 passing../scripts/probe.shagainst the live server → authenticates and lists the real library/series/files../scripts/build.sh→kavita-sync.appcross-compiles to ARM.Follow-ups (rest of Phase 1)
Config persistence, download (load) / unload, and the inkview UI (config panel + library browser).
🤖 Generated with Claude Code