[GH-ISSUE #2167] Proposal: Dedicated Sync Server Component to Eliminate Bookmark Sync Loops #1456

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

Originally created by @UncleDoomVSSP on GitHub (Feb 4, 2026).
Original GitHub issue: https://github.com/floccusaddon/floccus/issues/2167

Describe the feature you'd like to request

Proposal: Introduce a lightweight, self-hostable sync server (e.g., Docker container) that sits between the browser extension and the bookmark repository (e.g., WebDAV/Nextcloud).

Hi,
I'm a user experiencing recurring sync issues with Floccus due to its current architecture: browser extension + "dumb" remote storage (Nextcloud/WebDAV). From what I'm observing, the extension appears to make repeated HTTP sync calls to Nextcloud, and rather than throwing errors when conflicts occur, it continues creating new local copies of bookmarks. This resulted in over 11,000 identical "New Tab" entries before I noticed.
Additionally, I recently received an alert from Cloudflare that my worker was approaching my current 100,000 request limit. Investigation revealed Floccus was sending thousands of requests within a 24-hour period, likely contributing to or caused by the same sync behaviour.

Describe the solution you'd like

A lightweight, self-hostable sync server component (e.g., Docker container) that sits between the browser extension and the bookmark repository (Nextcloud/WebDAV). The server would centralise sync logic, handle conflict resolution and deduplication, batch operations to reduce API requests, and notify clients of changes. Browser extensions would become thin clients that push changes to the server via API and pull only necessary updates. This would prevent duplication loops, dramatically reduce request volume, and make Floccus viable for work/enterprise environments where request quotas and sync reliability matter.

Describe alternatives you've considered

At the moment, I've had to stop using Floccus and rely on manually exporting and importing bookmarks between browsers.

Originally created by @UncleDoomVSSP on GitHub (Feb 4, 2026). Original GitHub issue: https://github.com/floccusaddon/floccus/issues/2167 ### Describe the feature you'd like to request **Proposal:** Introduce a lightweight, self-hostable sync server (e.g., Docker container) that sits between the browser extension and the bookmark repository (e.g., WebDAV/Nextcloud). Hi, I'm a user experiencing recurring sync issues with Floccus due to its current architecture: browser extension + "dumb" remote storage (Nextcloud/WebDAV). From what I'm observing, the extension appears to make repeated HTTP sync calls to Nextcloud, and rather than throwing errors when conflicts occur, it continues creating new local copies of bookmarks. This resulted in over 11,000 identical "New Tab" entries before I noticed. Additionally, I recently received an alert from Cloudflare that my worker was approaching my current 100,000 request limit. Investigation revealed Floccus was sending thousands of requests within a 24-hour period, likely contributing to or caused by the same sync behaviour. ### Describe the solution you'd like A lightweight, self-hostable sync server component (e.g., Docker container) that sits between the browser extension and the bookmark repository (Nextcloud/WebDAV). The server would centralise sync logic, handle conflict resolution and deduplication, batch operations to reduce API requests, and notify clients of changes. Browser extensions would become thin clients that push changes to the server via API and pull only necessary updates. This would prevent duplication loops, dramatically reduce request volume, and make Floccus viable for work/enterprise environments where request quotas and sync reliability matter. ### Describe alternatives you've considered At the moment, I've had to stop using Floccus and rely on manually exporting and importing bookmarks between browsers.
Author
Owner

@github-actions[bot] commented on GitHub (Feb 4, 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:3847040520 --> @github-actions[bot] commented on GitHub (Feb 4, 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

@marcelklehr commented on GitHub (Feb 4, 2026):

Hi @UncleDoomVSSP

Thank you for taking the time to give feedback by opening this issue!

rather than throwing errors when conflicts occur, it continues creating new local copies of bookmarks.

This is not the expected behavior and would be a bug. Can you open a bug report for this?

<!-- gh-comment-id:3847134403 --> @marcelklehr commented on GitHub (Feb 4, 2026): Hi @UncleDoomVSSP Thank you for taking the time to give feedback by opening this issue! > rather than throwing errors when conflicts occur, it continues creating new local copies of bookmarks. This is not the expected behavior and would be a bug. Can you open a bug report for this?
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#1456
No description provided.