Skip to content

[Bug] Kobo sync stopped working in v11 #396

Description

@DraxonDraxoff

What went wrong?

Kobo sync, which previously worked for me in v9, v10 and also worked in the 3-way test sync from ghcr.io/bookorbit/bookorbit:pr-338-6f64644f8f78, has stopped working in v11.

I've recently added Koreader sync via Xteink4 and that's now syncing perfectly. BookOrbit shows Koreader sync as accurate and matches progress on BookOrbit. Kobo does not match, obviously, due to failed sync.

Steps to reproduce

  1. Open Kobo.
  2. Click sync.
  3. Message returned on Kobo - "Sync Failed. Please try again."

Expected vs actual behavior

Sync to work on Kobo, as previously successfully tested on v9 and v10.

Your setup

  • BookOrbit v11
  • Kobo Libra Colour

Relevant logs (optional)

2026/06/21 08:42PM 30 pid=7 hostname=d8c94fe44c31 req={"id":"req-a","method":"GET","url":"/api/v1/kobo/d9c42f649246a951b34c154f90870321/v1/user/profile"} context=KoboDeviceController msg=proxy: GET /api/v1/kobo/d9c42f649246a951b34c154f90870321/v1/user/profile

2026/06/21 08:42PM 30 pid=7 hostname=d8c94fe44c31 req={"id":"req-b","method":"GET","url":"/api/v1/kobo/d9c42f649246a951b34c154f90870321/v1/user/loyalty/benefits"} context=KoboDeviceController msg=proxy: GET /api/v1/kobo/d9c42f649246a951b34c154f90870321/v1/user/loyalty/benefits

2026/06/21 08:42PM 30 pid=7 hostname=d8c94fe44c31 req={"id":"req-c","method":"GET","url":"/api/v1/kobo/d9c42f649246a951b34c154f90870321/v1/products/books/subscriptions"} context=KoboDeviceController msg=proxy: GET /api/v1/kobo/d9c42f649246a951b34c154f90870321/v1/products/books/subscriptions

2026/06/21 08:42PM 30 pid=7 hostname=d8c94fe44c31 req={"id":"req-d","method":"GET","url":"/api/v1/kobo/d9c42f649246a951b34c154f90870321/v1/deals"} context=KoboDeviceController msg=proxy: GET /api/v1/kobo/d9c42f649246a951b34c154f90870321/v1/deals

2026/06/21 08:42PM 30 pid=7 hostname=d8c94fe44c31 req={"id":"req-e","method":"GET","url":"/api/v1/kobo/d9c42f649246a951b34c154f90870321/v1/assets?DiffRequests=[%7BKey:EPD-KoboPlus-ReadOnly-NeverSubscribed,ETag:W/NjM4MzE4NjcxNjEwMDAwMDAwLTMxODIw%7D]"} context=KoboDeviceController msg=proxy: GET /api/v1/kobo/d9c42f649246a951b34c154f90870321/v1/assets?DiffRequests=[%7BKey:EPD-KoboPlus-ReadOnly-NeverSubscribed,ETag:W/NjM4MzE4NjcxNjEwMDAwMDAwLTMxODIw%7D]

2026/06/21 08:42PM 30 pid=7 hostname=d8c94fe44c31 req={"id":"req-l","method":"POST","url":"/api/v1/kobo/d9c42f649246a951b34c154f90870321/v1/library/tags/col-14/items"} context=KoboDeviceController msg=proxy: POST /api/v1/kobo/d9c42f649246a951b34c154f90870321/v1/library/tags/col-14/items

2026/06/21 08:42PM 40 pid=7 hostname=d8c94fe44c31 req={"id":"req-l","method":"POST","url":"/api/v1/kobo/d9c42f649246a951b34c154f90870321/v1/library/tags/col-14/items"} res={"statusCode":400} responseTime=274 msg=[HTTP] POST /api/v1/kobo/d9c42f649246a951b34c154f90870321/v1/library/tags/col-14/items 400 +274ms

2026/06/21 08:42PM 30 pid=7 hostname=d8c94fe44c31 req={"id":"req-m","method":"POST","url":"/api/v1/kobo/d9c42f649246a951b34c154f90870321/v1/library/tags/col-16/items"} context=KoboDeviceController msg=proxy: POST /api/v1/kobo/d9c42f649246a951b34c154f90870321/v1/library/tags/col-16/items

2026/06/21 08:42PM 40 pid=7 hostname=d8c94fe44c31 req={"id":"req-m","method":"POST","url":"/api/v1/kobo/d9c42f649246a951b34c154f90870321/v1/library/tags/col-16/items"} res={"statusCode":400} responseTime=272 msg=[HTTP] POST /api/v1/kobo/d9c42f649246a951b34c154f90870321/v1/library/tags/col-16/items 400 +272ms

node:buffer:612

      throw new ERR_INVALID_ARG_TYPE(

      ^

TypeError [ERR_INVALID_ARG_TYPE]: The "list[0]" argument must be an instance of Buffer or Uint8Array. Received type string ('{}')

    at Buffer.concat (node:buffer:612:13)

    at Readable.onEnd (/app/node_modules/.pnpm/[email protected]/node_modules/fastify/lib/content-type-parser.js:296:21)

    at Readable.emit (node:events:508:28)

    at endReadableNT (node:internal/streams/readable:1701:12)

    at process.processTicksAndRejections (node:internal/process/task_queues:89:21) {

  code: 'ERR_INVALID_ARG_TYPE'

}

Screenshots (optional)

No response

Before submitting

  • I've searched existing issues and this hasn't been reported yet.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingreleasedIssue or PR is included in a released version.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions