[GH-ISSUE #2158] Sync failure (Error E019 / HTTP 400) when syncing long URLs to Karakeep due to field length limits #1450

Open
opened 2026-02-25 22:40:03 +03:00 by kerem · 2 comments
Owner

Originally created by @GRomR1 on GitHub (Jan 29, 2026).
Original GitHub issue: https://github.com/floccusaddon/floccus/issues/2158

Which version of floccus are you using?

5.8.6

How many bookmarks do you have, roughly?

5,000

Are you using other means to sync bookmarks in parallel to floccus?

No

Sync method

Git

Which browser are you using? In case you are using the phone App, specify the Android or iOS version and device please.

Chromium 143.0.7499.169 (Official Build, ungoogled-chromium) (arm64) + Karakeep server 0.30.0

Describe the Bug

When attempting to sync a large collection of bookmarks to a Karakeep server, the sync process fails with the following error:

E019: HTTP status 400. Failed POST request. Check your server configuration and log.

The extension logs do not provide specific details about which bookmark caused the failure or what the exact validation error was. After debugging the traffic with mitmproxy, I discovered that the Karakeep server returns a ZodError because the title field exceeds the 1000-character limit allowed by the server's schema.

Server Response Body:

{
    "success": false,
    "error": {
        "issues": [
            {
                "code": "too_big",
                "maximum": 1000,
                "type": "string",
                "inclusive": true,
                "exact": false,
                "message": "String must contain at most 1000 character(s)",
                "path": ["title"]
            }
        ],
        "name": "ZodError"
    }
}

In my case, the bookmark had an extremely long URL (from a search redirect) which was also being used as the title. Currently, Floccus doesn't surface this specific error message, making it very difficult to identify and remove the offending bookmark.

Image

Expected Behavior

  1. The extension should provide more descriptive error logging. If a POST request fails with a 400 error, it would be extremely helpful to log the response body (specifically the message from the server) to help the user identify which bookmark is causing the issue.
  2. Ideally, Floccus should handle or truncate excessively long titles/URLs that exceed known server constraints to prevent the entire sync process from failing.

To Reproduce

  1. Use Floccus with a Karakeep account.
  2. Create a bookmark where the title or URL is longer than 1000 characters (e.g., a long tracking/redirect URL).
  3. Start the synchronization.
  4. The sync will fail with E019, and the specific cause (field length limit) will not be visible in the standard logs.

Debug log provided

  • I have provided a debug log file
Originally created by @GRomR1 on GitHub (Jan 29, 2026). Original GitHub issue: https://github.com/floccusaddon/floccus/issues/2158 ### Which version of floccus are you using? 5.8.6 ### How many bookmarks do you have, roughly? 5,000 ### Are you using other means to sync bookmarks in parallel to floccus? No ### Sync method Git ### Which browser are you using? In case you are using the phone App, specify the Android or iOS version and device please. Chromium 143.0.7499.169 (Official Build, ungoogled-chromium) (arm64) + Karakeep server 0.30.0 ### Describe the Bug When attempting to sync a large collection of bookmarks to a Karakeep server, the sync process fails with the following error: `E019: HTTP status 400. Failed POST request. Check your server configuration and log.` The extension logs do not provide specific details about which bookmark caused the failure or what the exact validation error was. After debugging the traffic with **mitmproxy**, I discovered that the Karakeep server returns a `ZodError` because the `title` field exceeds the 1000-character limit allowed by the server's schema. **Server Response Body:** ```json { "success": false, "error": { "issues": [ { "code": "too_big", "maximum": 1000, "type": "string", "inclusive": true, "exact": false, "message": "String must contain at most 1000 character(s)", "path": ["title"] } ], "name": "ZodError" } } ``` In my case, the bookmark had an extremely long URL (from a search redirect) which was also being used as the title. Currently, Floccus doesn't surface this specific error message, making it very difficult to identify and remove the offending bookmark. <img width="1106" height="599" alt="Image" src="https://github.com/user-attachments/assets/f18b5e51-ba96-4c24-932d-f684a15d1e06" /> ### Expected Behavior 1. The extension should provide more descriptive error logging. If a `POST` request fails with a 400 error, it would be extremely helpful to log the response body (specifically the `message` from the server) to help the user identify which bookmark is causing the issue. 2. Ideally, Floccus should handle or truncate excessively long titles/URLs that exceed known server constraints to prevent the entire sync process from failing. ### To Reproduce 1. Use Floccus with a Karakeep account. 2. Create a bookmark where the title or URL is longer than 1000 characters (e.g., a long tracking/redirect URL). 3. Start the synchronization. 4. The sync will fail with `E019`, and the specific cause (field length limit) will not be visible in the standard logs. ### Debug log provided - [x] I have provided a debug log file
Author
Owner

@github-actions[bot] commented on GitHub (Jan 29, 2026):

Hello! 👋

Thank you for taking the time to open this issue with floccus. I know it's frustrating when software causes problems. You have made the right choice to come here and open an issue to make sure your problem gets looked at and if possible solved. Let me give you a short introduction on what to expect from this issue tracker to avoid misunderstandings. I'm Marcel. I created floccus a few years ago, and have been maintaining it since. I currently work for Nextcloud which leaves me with less time for side projects like this one than I used to have. I still try to answer all issues and if possible fix all bugs here, but it sometimes takes a while until I get to it. Until then, please be patient. It helps when you stick around to answer follow up questions I may have, as very few bugs can be fixed directly from the first bug report, without any interaction. If information is missing in your bug report and the issue cannot be solved without it, I will have to close the issue after a while. Note also that GitHub in general is a place where people meet to make software better together. Nobody here is under any obligation to help you, solve your problems or deliver on any expectations or demands you may have, but if enough people come together we can collaborate to make this software better. For everyone. Thus, if you can, you could also have a look at other issues to see whether you can help other people with your knowledge and experience. If you have coding experience it would also be awesome if you could step up to dive into the code and try to fix the odd bug yourself. Everyone will be thankful for extra helping hands! If you cannot lend a helping hand, to continue the development and maintenance of this project in a sustainable way, I ask that you donate to the project when opening an issue (or at least once your issue is solved), if you're not a donor already. You can find donation options at https://floccus.org/donate/. Thank you!

One last word: If you feel, at any point, like you need to vent, this is not the place for it; you can go to the Nextcloud forum, to twitter or somewhere else. But this is a technical issue tracker, so please make sure to focus on the tech and keep your opinions to yourself.

Thank you for reading through this primer. I look forward to working with you on this issue! Cheers! 💙

<!-- gh-comment-id:3817005120 --> @github-actions[bot] commented on GitHub (Jan 29, 2026): Hello! :wave: Thank you for taking the time to open this issue with floccus. I know it's frustrating when software causes problems. You have made the right choice to come here and open an issue to make sure your problem gets looked at and if possible solved. Let me give you a short introduction on what to expect from this issue tracker to avoid misunderstandings. I'm Marcel. I created floccus a few years ago, and have been maintaining it since. I currently work for Nextcloud which leaves me with less time for side projects like this one than I used to have. I still try to answer all issues and if possible fix all bugs here, but it sometimes takes a while until I get to it. Until then, please be patient. It helps when you stick around to answer follow up questions I may have, as very few bugs can be fixed directly from the first bug report, without any interaction. If information is missing in your bug report and the issue cannot be solved without it, I will have to close the issue after a while. Note also that GitHub in general is a place where people meet to make software better *together*. Nobody here is under any obligation to help you, solve your problems or deliver on any expectations or demands you may have, but if enough people come together we can collaborate to make this software better. For everyone. Thus, if you can, you could also have a look at other issues to see whether you can help other people with your knowledge and experience. If you have coding experience it would also be awesome if you could step up to dive into the code and try to fix the odd bug yourself. Everyone will be thankful for extra helping hands! If you cannot lend a helping hand, to continue the development and maintenance of this project in a sustainable way, I ask that you donate to the project when opening an issue (or at least once your issue is solved), if you're not a donor already. You can find donation options at <https://floccus.org/donate/>. Thank you! One last word: If you feel, at any point, like you need to vent, this is not the place for it; you can go to the Nextcloud forum, to twitter or somewhere else. But this is a technical issue tracker, so please make sure to focus on the tech and keep your opinions to yourself. Thank you for reading through this primer. I look forward to working with you on this issue! Cheers! :blue_heart:
Author
Owner
<!-- gh-comment-id:3817011250 --> @GRomR1 commented on GitHub (Jan 29, 2026): linked - https://github.com/floccusaddon/floccus/pull/1953 - https://github.com/floccusaddon/floccus/blob/develop/src/lib/adapters/Karakeep.ts#L121
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/floccus#1450
No description provided.