Collections as device folders, and sync triggers #10
Loading…
Reference in a new issue
No description provided.
Delete branch "refs/pull/10/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?
Roadmap items 4 and 5, built together. Everything host-testable is
unit-tested and the ARM app cross-builds clean; device + live-API
verification is pending (see below).
Collections -> device folders
KavitaClient::listCollections+seriesIdsInCollection, verifiedagainst the server's openapi.json (Kavita 0.9.0.12).
core/CollectionFoldersmaps each series to its alphabetically-firstcollection's sanitised folder (deterministic; no file duplication);
uncollected books stay at the download-dir root.
downloadDir/<collection>/; detection and unload finda book by basename in its folder, the root, or any one-level subfolder, so
books loaded flat before this change keep working.
DeviceReadingDb::readFoldermatchesthe folder and anything nested under it (substr prefix, robust to LIKE
metacharacters; a prefix-sharing sibling like
/mnt/ext1/KavitaXis notswept in).
DeviceLibrary::listSubdirs.Sync triggers
EVT_NET_CONNECTEDandEVT_FOREGROUND(WiFi-up / wake while the app is resident). Newcore/SyncThrottlecollapses events that fire together; app-open stampsthe throttle.
~2s suspend and lives in the same firmware system-config class that broke
the launcher three times. Designed + risks documented in
docs/device-triggers.md, deliberately not installed.Verification pending (mine can't cover these)
scripts/probe.shagainst the server to confirm thecollection endpoints on its version (the probe now lists collections; also
fixed a pre-existing missing
-lsqlite3link).load/unload/progress still work; in-app WiFi-connect/foreground re-sync.
Spec:
docs/superpowers/specs/2026-07-17-collections-and-triggers-design.md.106 -> 120 host tests pass.
🤖 Generated with Claude Code