docker pull ghcr.io/new-usemame/calibre-web-nextgen:v4.1.64
Three Kobo fixes, and three additions for reading apps that sync over KOSync or sign in with an app password.
Fixed
- Kobo sync works with Proxy unknown requests to Kobo Store turned on. A Kobo on firmware 6 stopped at the first store call CWNG redirected, so its library sync never started and the Store and Libby pages stayed empty. CWNG now fetches every Kobo Store call itself and passes the answer back. A store that cannot be reached gets a gateway error instead of a server error. @Duckbilled confirmed on the
:devbuild that the sync finishes. Thanks to @Duckbilled and @IceSentry for the logs. (#2797, #2807) - Kobo setup says when the account can't download books. CWNG refuses a Kobo library sync for an account without download permission, and the Kobo only shows that the sync failed. The pairing section in the New UI and the Kobo Sync Token row in the classic user settings now say so and point to Allow Downloads. Thanks to @noja11. (#2807)
- With DEBUG on, a Kobo that keeps its own place because its download predates CWNG's download tracking now says so, and says to download the book again. It used to blame a KEPUB written after the download. Thanks to @sgreadly. (#2804)
Added
- An app password can set reading status, mark a book read and archive it over the API.
POST /api/v1/books/<id>/read-status,/readand/archivedaccept HTTP Basic with an app password (or the account password, as OPDS does), with no browser session or CSRF token. Only those three endpoints take Basic. A wrong password gets a 401, the guest account cannot write, and browser sessions still need the CSRF token. (#2842) - A KOSync client can tell a private place from no place. When another device keeps its place to itself, the empty answer for that book now carries
places_not_shared(a count only)./kosync/users/authsent withX-CWNG-Device-IDalso returnsshare_placefor that device. (#2841) - A KOSync progress push hears whether it was kept. The reply now carries
accepted,sharedand, when the push was not kept,kept_percentage. (#2843)
Stock KOReader ignores the new KOSync fields and works as before.
Full changelog: CHANGELOG.md