A fifth kind of book server, Custom, holding an OPDS catalog address
and a KOReader sync address, either of which may be left empty. With
both, a reader browses and downloads from the catalog and their place
follows them between devices. With a catalog alone, browsing and
downloading; OPDS carries no position and the screen says so. With a
sync address alone, the books already on the phone keep their place,
which is what a reader who sideloads everything needs.
Liseur walks the catalog itself: paste the OPDS root and it follows
the navigation feeds down to the shelves.
Closes#102
Pair a Grimmory connection with a KOReader (kosync) server so a book's
position follows the reader between Liseur and KOReader. The pairing is
offered only where the connected server carries no position of its own,
which today means Grimmory; a server that syncs natively would give one
book two sources and a conflict the reader cannot see.
Closes#95
Grimmory advertises a Komga-compatible API, but pointing Liseur's Komga
client at one got nowhere: it signs in as a dedicated OPDS user over
HTTP Basic rather than with an API key, mounts the shim under
/komga/api, and answers 501 to the only route the Komga client lists a
catalog with. It is now its own server kind, browsing and downloading
like the others. Reading position does not sync, because the shim has
no route for it, so nothing offers to.
Refreshing a saved account no longer authorises a plain-HTTP retry
unless the account is already stored on plain HTTP. Every kind signs
with a stored secret, so a briefly unreachable https server could have
had one sent in the clear without anyone deciding to.
Fixes#89
Added comprehensive documentation detailing the features, authentication
methods, API endpoints, capability detection mechanisms, and upload/delete
infrastructure for all supported servers (Komga, calibre-web, and
liseur-sync).
Signed-off-by: Chmouel Boudjnah <chmouel@chmouel.com>