-
-
Notifications
You must be signed in to change notification settings - Fork 332
Closed
Labels
Description
Steps to reproduce
I'm using the latest version komga-1.23.4 and noticed that since komga-1.21.2 there is a regression on the kobo sync with proxying enabled. When enabling the debug option on my kobo and on the server, I can see the following message in my logs and the sync fails.
To me they appears the same, but the version bump clearly shows something is wrong. I wonder if there is something wrong with the way the request is proxyed to kobo ?
Expected behavior
On komga-1.21.2 I get a request that go through
Sep 12 02:05:11 nickel: ( 38.808 @ 0x39e4e78 / packetdump.debug) -------------------------- REQUEST ---------------------------
Sep 12 02:05:11 nickel: ( 38.808 @ 0x39e4e78 / packetdump.debug) "POST" > To: "https://komga.example.com/kobo/xxx/v1/analytics/gettests"
Sep 12 02:05:11 nickel: ( 38.808 @ 0x39e4e78 / packetdump.debug) ---------------------- HEADERS ---------------------------
Sep 12 02:05:11 nickel: ( 38.808 @ 0x39e4e78 / packetdump.debug) "Accept-Encoding" : "gzip"
Sep 12 02:05:11 nickel: ( 38.809 @ 0x39e4e78 / packetdump.debug) "Accept" : "application/json"
Sep 12 02:05:11 nickel: ( 38.809 @ 0x39e4e78 / packetdump.debug) "Authorization" : "Bearer xxx"
Sep 12 02:05:11 nickel: ( 38.809 @ 0x39e4e78 / packetdump.debug) "Content-Type" : "application/json"
Sep 12 02:05:11 nickel: ( 38.810 @ 0x39e4e78 / packetdump.debug) "x-kobo-affiliatename" : "RakutenBooks"
Sep 12 02:05:11 nickel: ( 38.810 @ 0x39e4e78 / packetdump.debug) "x-kobo-appversion" : "4.38.23171"
Sep 12 02:05:11 nickel: ( 38.810 @ 0x39e4e78 / packetdump.debug) "x-kobo-deviceid" : "xxx"
Sep 12 02:05:11 nickel: ( 38.810 @ 0x39e4e78 / packetdump.debug) "x-kobo-devicemodel" : "Kobo Clara 2E"
Sep 12 02:05:11 nickel: ( 38.810 @ 0x39e4e78 / packetdump.debug) "x-kobo-deviceos" : "4.1.15"
Sep 12 02:05:11 nickel: ( 38.811 @ 0x39e4e78 / packetdump.debug) "x-kobo-deviceosversion" : "NA"
Sep 12 02:05:11 nickel: ( 38.811 @ 0x39e4e78 / packetdump.debug) "x-kobo-platformid" : "00000000-0000-0000-0000-000000000xxx"
Sep 12 02:05:11 nickel: ( 38.811 @ 0x39e4e78 / packetdump.debug) "User-Agent" : "Mozilla/5.0 (Linux; U; Android 2.0; en-us;) AppleWebKit/538.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/538.1 (Kobo Touch 0386/4.38.23171)"
Sep 12 02:05:11 nickel: ( 38.811 @ 0x39e4e78 / packetdump.debug) "Accept-Language" : "en-US, *;q=0.9"
Sep 12 02:05:11 nickel: ( 38.812 @ 0x39e4e78 / packetdump.debug) "Host" : "komga.example.com"
Sep 12 02:05:11 nickel: ( 38.812 @ 0x39e4e78 / packetdump.debug) "Content-Length" : "203"
Sep 12 02:05:11 nickel: ( 38.812 @ 0x39e4e78 / packetdump.debug) ---------------------- BODY ---------------------------
Sep 12 02:05:11 nickel: ( 38.812 @ 0x39e4e78 / packetdump.debug) "{"AffiliateName": "RakutenBooks","ApplicationVersion": "4.38.23171","PlatformId": "00000000-0000-0000-0000-000000000xxx","SerialNumber": "xxx","TestKey": "xxx"}"
Sep 12 02:05:11 nickel: ( 38.812 @ 0x39e4e78 / packetdump.debug) -------------------------- END OF REQUEST ---------------------------
Sep 12 02:05:12 nickel: ( 39.099 @ 0x39e4e78 / packetdump.debug) ================== RESPONSE =============================
Sep 12 02:05:12 nickel: ( 39.100 @ 0x39e4e78 / packetdump.debug) URL: "https://komga.example.com/kobo/xxx/v1/analytics/gettests"
Sep 12 02:05:12 nickel: ( 39.101 @ 0x39e4e78 / packetdump.debug) HTTP Status Code: 200
Sep 12 02:05:12 nickel: ( 39.102 @ 0x39e4e78 / packetdump.debug) Is Cached?: false
Sep 12 02:05:12 nickel: ( 39.102 @ 0x39e4e78 / packetdump.debug) "Alt-Svc" : "h3=":443"; ma=2592000"
Sep 12 02:05:12 nickel: ( 39.103 @ 0x39e4e78 / packetdump.debug) "Content-Length" : "80"
Sep 12 02:05:12 nickel: ( 39.104 @ 0x39e4e78 / packetdump.debug) "Content-Type" : "application/json;charset=utf-8"
Sep 12 02:05:12 nickel: ( 39.105 @ 0x39e4e78 / packetdump.debug) "Date" : "Thu, 11 Sep 2025 17:05:12 GMT" Sep 12 02:05:12 nickel: ( 39.105 @ 0x39e4e78 / packetdump.debug) "Referrer-Policy" : "no-referrer-when-downgrade"
Sep 12 02:05:12 nickel: ( 39.106 @ 0x39e4e78 / packetdump.debug) "Server" : "Caddy"
Sep 12 02:05:12 nickel: ( 39.107 @ 0x39e4e78 / packetdump.debug) "Strict-Transport-Security" : "max-age=31536000;, max-age=31536000 ; includeSubDomains"
Sep 12 02:05:12 nickel: ( 39.109 @ 0x39e4e78 / packetdump.debug) "Vary" : "Origin, Access-Control-Request-Method, Access-Control-Request-Headers"
Sep 12 02:05:12 nickel: ( 39.110 @ 0x39e4e78 / packetdump.debug) "X-Content-Type-Options" : "nosniff, nosniff"
Sep 12 02:05:12 nickel: ( 39.110 @ 0x39e4e78 / packetdump.debug) "X-Frame-Options" : "DENY, DENY"
Sep 12 02:05:12 nickel: ( 39.110 @ 0x39e4e78 / packetdump.debug) "X-Kobo-Apitoken" : "e30="
Sep 12 02:05:12 nickel: ( 39.110 @ 0x39e4e78 / packetdump.debug) "X-Xss-Protection" : "0"
Sep 12 02:05:12 nickel: ( 39.110 @ 0x39e4e78 / packetdump.debug) =========================================================
Sep 12 02:05:12 nickel: ( 39.111 @ 0x39e4e78 / packetdump.debug) "{ "Result": "Success", "TestKey": "xxx", "Tests": { } } "
Actual behavior
On komga-1.23.4 I get a Bad Request
Sep 12 02:27:56 nickel: ( 1403.527 @ 0x3b816e8 / sync.debug) pumping with 17 pending commands and 0 active commands
Sep 12 02:27:56 nickel: ( 1403.527 @ 0x3b816e8 / sync.debug) executing GetTestsCommand(0x4072438)
Sep 12 02:27:56 nickel: ( 1403.527 @ 0x3b816e8 / sync.debug) virtual void OAuthAuthenticatedCommand::execute()
Sep 12 02:27:56 nickel: ( 1403.528 @ 0x3b816e8 / sync.debug) virtual void GetTestsCommand::authenticatedExecute()
Sep 12 02:27:56 nickel: ( 1403.530 @ 0x3b816e8 / packetdump.debug) Making Onestore request: "https://komga.example.com/kobo/xxx/v1/analytics/gettests"
Sep 12 02:27:56 nickel: ( 1403.530 @ 0x3b816e8 / packetdump.debug) "{"AffiliateName": "RakutenBooks","ApplicationVersion": "4.38.23171","PlatformId": "00000000-0000-0000-0000-000000000xxx","SerialNumber": "N50628C029847","TestKey": "xxx"}"
Sep 12 02:27:56 nickel: ( 1403.531 @ 0x3b816e8 / packetdump.debug) -------------------------- REQUEST ---------------------------
Sep 12 02:27:56 nickel: ( 1403.532 @ 0x3b816e8 / packetdump.debug) "POST" > To: "https://komga.example.com/kobo/xxx/v1/analytics/gettests"
Sep 12 02:27:56 nickel: ( 1403.532 @ 0x3b816e8 / packetdump.debug) ---------------------- HEADERS ---------------------------
Sep 12 02:27:56 nickel: ( 1403.532 @ 0x3b816e8 / packetdump.debug) "Accept-Encoding" : "gzip"
Sep 12 02:27:56 nickel: ( 1403.533 @ 0x3b816e8 / packetdump.debug) "Accept" : "application/json"
Sep 12 02:27:56 nickel: ( 1403.533 @ 0x3b816e8 / packetdump.debug) "Authorization" : "Bearer xxx"
Sep 12 02:27:56 nickel: ( 1403.533 @ 0x3b816e8 / packetdump.debug) "Content-Type" : "application/json"
Sep 12 02:27:56 nickel: ( 1403.533 @ 0x3b816e8 / packetdump.debug) "x-kobo-affiliatename" : "RakutenBooks"
Sep 12 02:27:56 nickel: ( 1403.534 @ 0x3b816e8 / packetdump.debug) "x-kobo-appversion" : "4.38.23171"
Sep 12 02:27:56 nickel: ( 1403.534 @ 0x3b816e8 / packetdump.debug) "x-kobo-deviceid" : "xxx"
Sep 12 02:27:56 nickel: ( 1403.534 @ 0x3b816e8 / packetdump.debug) "x-kobo-devicemodel" : "Kobo Clara 2E"
Sep 12 02:27:56 nickel: ( 1403.534 @ 0x3b816e8 / packetdump.debug) "x-kobo-deviceos" : "4.1.15"
Sep 12 02:27:56 nickel: ( 1403.534 @ 0x3b816e8 / packetdump.debug) "x-kobo-deviceosversion" : "NA"
Sep 12 02:27:56 nickel: ( 1403.535 @ 0x3b816e8 / packetdump.debug) "x-kobo-platformid" : "00000000-0000-0000-0000-000000000xxx"
Sep 12 02:27:56 nickel: ( 1403.535 @ 0x3b816e8 / packetdump.debug) "User-Agent" : "Mozilla/5.0 (Linux; U; Android 2.0; en-us;) AppleWebKit/538.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/538.1 (Kobo Touch 0386/4.38.23171)"
Sep 12 02:27:56 nickel: ( 1403.535 @ 0x3b816e8 / packetdump.debug) "Accept-Language" : "en-US, *;q=0.9"
Sep 12 02:27:56 nickel: ( 1403.535 @ 0x3b816e8 / packetdump.debug) "Host" : "komga.example.com"
Sep 12 02:27:56 nickel: ( 1403.536 @ 0x3b816e8 / packetdump.debug) "Content-Length" : "203"
Sep 12 02:27:56 nickel: ( 1403.536 @ 0x3b816e8 / packetdump.debug) ---------------------- BODY ---------------------------
Sep 12 02:27:56 nickel: ( 1403.536 @ 0x3b816e8 / packetdump.debug) "{"AffiliateName": "RakutenBooks","ApplicationVersion": "4.38.23171","PlatformId": "00000000-0000-0000-0000-000000000xxx","SerialNumber": "xxx","TestKey": "xxx"}"
Sep 12 02:27:56 nickel: ( 1403.536 @ 0x3b816e8 / packetdump.debug) -------------------------- END OF REQUEST ---------------------------
Sep 12 02:27:56 nickel: ( 1403.840 @ 0x3b816e8 / packetdump.warning) "https://komga.example.com/kobo/xxx/v1/analytics/gettests" => "Error downloading https://komga.example.com/kobo/xxx/v1/analytics/gettests - server replied: Bad Request"
Sep 12 02:27:56 nickel: ( 1403.841 @ 0x3b816e8 / packetdump.warning) HTTP Status Code: 400
Sep 12 02:27:56 nickel: ( 1403.841 @ 0x3b816e8 / packetdump.warning) Error: 299
Sep 12 02:27:56 nickel: ( 1403.841 @ 0x3b816e8 / packetdump.warning) Source: "https://komga.example.com/kobo/xxx/v1/analytics/gettests"
Sep 12 02:27:56 nickel: ( 1403.841 @ 0x3b816e8 / packetdump.warning) "{"timestamp":"2025-09-11T17:27:56.864+00:00","status":400,"error":"Bad Request","message":"Bad Request","path":"/kobo/xxx/v1/analytics/gettests"}"
Sep 12 02:27:56 nickel: ( 1403.842 @ 0x37f89c0 / ui.warning) virtual bool QDebugSyncErrorFilter::applyFilter(SyncError&) "WebRequestErr"
Sep 12 02:27:56 nickel: ( 1403.843 @ 0x3b816e8 / sync.debug) virtual void QueuedSyncCommand::cancel() SyncClient(0x409c778) GetTestsCommand(0x4072438)
Sep 12 02:27:56 nickel: ( 1403.844 @ 0x3b816e8 / sync.debug) =================== SYNC QUEUE [ SyncClient(0x409c778) ] ====================
Sep 12 02:27:56 nickel: ( 1403.844 @ 0x3b816e8 / sync.debug) ===================================================
Sep 12 02:27:56 nickel: ( 1403.844 @ 0x3b816e8 / sync.debug)
Sep 12 02:27:56 nickel: ( 1403.845 @ 0x3b816e8 / sync.debug) pumping with 0 pending commands and 0 active commands
Sep 12 02:27:56 nickel: ( 1403.845 @ 0x3b816e8 / sync.debug) finished sync client
Sep 12 02:27:56 nickel: ( 1403.845 @ 0x3b816e8 / sync.debug) GetTestsCommand(0x4072438) finished
Sep 12 02:27:56 nickel: ( 1403.845 @ 0x3b816e8 / sync.debug) GetTestsCommand(0x4072438) finished
Sep 12 02:32:56 nickel: ( 1703.461 @ 0x37f89c0 / performance.warning) static void QObjectUtil::repolishChildren(QWidget*, Qt::FindChildOptions, int) "SyncMenuView" repolish took 21
Logs
Proxy request is the following
Sep 12 02:27:56 helios64 env[1599553]: 2025-09-12T02:27:56.627+09:00 DEBUG 1599553 --- [io-32500-exec-3] o.g.komga.infrastructure.kobo.KoboProxy : Proxy URL: https://storeapi.kobo.com/v1/analytics/gettests
Sep 12 02:27:56 helios64 env[1599553]: 2025-09-12T02:27:56.628+09:00 DEBUG 1599553 --- [io-32500-exec-3] o.g.komga.infrastructure.kobo.KoboProxy : Headers out: [user-agent:"Mozilla/5.0 (Linux; U; Android 2.0; en-us;) AppleWebKit/538.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/538.1 (Kobo Touch 0386/4.38.23171)", accept:"application/json", accept-language:"en-US, *;q=0.9", authorization:"Bearer xxx", x-kobo-affiliatename:"RakutenBooks", x-kobo-appversion:"4.38.23171", x-kobo-deviceid:"xxx", x-kobo-devicemodel:"Kobo Clara 2E", x-kobo-deviceos:"4.1.15", x-kobo-deviceosversion:"NA", x-kobo-platformid:"00000000-0000-0000-0000-000000000xxx"]
Sep 12 02:27:56 helios64 env[1599553]: 2025-09-12T02:27:56.849+09:00 DEBUG 1599553 --- [io-32500-exec-3] o.s.w.f.CommonsRequestLoggingFilter : REQUEST DATA: POST /kobo/xxx/v1/analytics/gettests, headers=[host:"komga.example.com", user-agent:"Mozilla/5.0 (Linux; U; Android 2.0; en-us;) AppleWebKit/538.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/538.1 (Kobo Touch 0386/4.38.23171)", content-length:"203", accept:"application/json", accept-encoding:"gzip", accept-language:"en-US, *;q=0.9", authorization:"Bearer xxx", x-kobo-affiliatename:"RakutenBooks", x-kobo-appversion:"4.38.23171", x-kobo-deviceid:"xxx", x-kobo-devicemodel:"Kobo Clara 2E", x-kobo-deviceos:"4.1.15", x-kobo-deviceosversion:"NA", x-kobo-platformid:"00000000-0000-0000-0000-000000000xxx", Content-Type:"application/json;charset=UTF-8"], payload={"AffiliateName": "RakutenBooks","ApplicationVersion": "4.38.23171","PlatformId": "00000000-0000-0000-0000-000000000xxx","SerialNumber": "xxx","TestKey": "xxx"}]
Komga version
1.23.4
Operating system
Linux Debian
Installation method
jar
Other details
No response
Acknowledgements
- I have searched the existing issues (open AND closed) and this is a new ticket, NOT a duplicate or related to another open issue.
- I have written a short but informative title.
- I have checked the FAQ.
- I have updated the app to the latest version.
- I will fill out all of the requested information in this form.
ronnieong