For Kobo Android app users: the official Kobo Android app should now sync reliably against this build. Four small protocol gaps that Kobo devices tolerated but the Android app rejected are now closed.
What's fixed:
- Series field always present on book metadata — the Android app refused entries without it. Books not in a series get
Series: {}and sync normally. - DRM type always declared on book metadata — the Android app rejected entries with
DrmTypeomitted. Now always emitted as"DrmType": "None". - Android-specific download endpoint —
get_download_url_for_bookswitches to the redirect-download path when the request carriesx-kobo-deviceos: Android. Kobo devices keep the original direct-download path. - Cover image URL templates — capitalized
{Width}/{Height}placeholders so the Android app's case-sensitive template substitution resolves them. Cover images that previously appeared broken on the Android app should now display.
Existing Kobo device sync is unaffected — all four changes are additive or pin behavior the Android app needs.
Pull the image:
docker pull ghcr.io/new-usemame/calibre-web-nextgen:v4.0.72
5 regression tests in tests/unit/test_kobo_android_app_compat.py pin the four behaviors plus the device-OS gate logic.
Thanks @shavitmichael for the original patch (CWA #1343).