[GH-ISSUE #2032] [FR] Add a forced overwrite policy to the synchronization policy #1356

Open
opened 2026-02-25 22:39:46 +03:00 by kerem · 6 comments
Owner

Originally created by @FlootingDream on GitHub (Aug 17, 2025).
Original GitHub issue: https://github.com/floccusaddon/floccus/issues/2032

Describe the feature you'd like to request

Add a forced overwrite policy to the synchronization policy

Describe the solution you'd like

Delete all content in the bookmark file and rewrite each time the synchronization policy is used

Describe alternatives you've considered

Some browsers generate bookmark files with different structures (such as via) and floccus, resulting in bookmark files that cannot be rewritten floccus after they are modified.

Originally created by @FlootingDream on GitHub (Aug 17, 2025). Original GitHub issue: https://github.com/floccusaddon/floccus/issues/2032 ### Describe the feature you'd like to request Add a forced overwrite policy to the synchronization policy ### Describe the solution you'd like Delete all content in the bookmark file and rewrite each time the synchronization policy is used ### Describe alternatives you've considered Some browsers generate bookmark files with different structures (such as via) and floccus, resulting in bookmark files that cannot be rewritten floccus after they are modified.
Author
Owner

@github-actions[bot] commented on GitHub (Aug 17, 2025):

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:3194251926 --> @github-actions[bot] commented on GitHub (Aug 17, 2025): 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

@esquiremh commented on GitHub (Aug 17, 2025):

I'm not sure if this is the same exact request/idea or not.

My suggestion would be to add a buttons as follows, and for each, put them both in the extension drop-down and in the main web page interface (and for the latter, put them both at the top and bottom there like you have the SAVE buttons):

  1. To force an UPLOAD and another button to force a DOWNLOAD.

I am suggesting this because I find I have so many computers, browsers, and profiles (I'm in the IT field), that I have to set ALL of them to only manually sync in order to avoid constant corruption and issues. After a few months spending a LOT of time learning and honing the product's setup, switching to this strategy has worked a LOT better. However, there are still errors and problems with syncing, and I have them quite frequently, on every machine, daily, so I find myself doing the following constantly:

a. turning OFF the failsafe
b. and then clicking the radio button to change the default merge setting to either push up or down, depending on what I need for that particular machine/browser/profile at that time.
c. I then click SAVE
d. and then go back to the extension drop-down to click the force sync button.
e. Each time I do this, I have to then reverse those changes...
f. switch the failsafe back
g. switch the syncing
h. then click SAVE for that change
i. I usually then also do ANOTHER sync (going back to the extension again) just to see if there are more errors or not, and more often than not, what this does is CLEAR the error that was there before doing all of the above - meaning leftover from the LAST sync that errored and started this whole process

So that's a lot of steps that it seems could easily be put into a button :)

  1. So I suppose, while at it, I would suggest adding a FORCE SYNC button, also next to the SAVE button at the top and bottom of the web page interface as well.

Other than this, I love the whole system and it has saved me a ton of work and made me so much more productive. I am going to go donate right now, and already purchased the iOS app. Thanks so much!

<!-- gh-comment-id:3194451572 --> @esquiremh commented on GitHub (Aug 17, 2025): I'm not sure if this is the same exact request/idea or not. My suggestion would be to add a buttons as follows, and for each, put them both in the extension drop-down and in the main web page interface (and for the latter, put them both at the top and bottom there like you have the SAVE buttons): 1. To force an UPLOAD and another button to force a DOWNLOAD. I am suggesting this because I find I have so many computers, browsers, and profiles (I'm in the IT field), that I have to set ALL of them to only manually sync in order to avoid constant corruption and issues. After a few months spending a LOT of time learning and honing the product's setup, switching to this strategy has worked a LOT better. However, there are still errors and problems with syncing, and I have them quite frequently, on every machine, daily, so I find myself doing the following constantly: a. turning OFF the failsafe b. and then clicking the radio button to change the default merge setting to either push up or down, depending on what I need for that particular machine/browser/profile at that time. c. I then click SAVE d. and then go back to the extension drop-down to click the force sync button. e. Each time I do this, I have to then reverse those changes... f. switch the failsafe back g. switch the syncing h. then click SAVE for that change i. I usually then also do ANOTHER sync (going back to the extension again) just to see if there are more errors or not, and more often than not, what this does is CLEAR the error that was there before doing all of the above - meaning leftover from the LAST sync that errored and started this whole process So that's a lot of steps that it seems could easily be put into a button :) 2. So I suppose, while at it, I would suggest adding a FORCE SYNC button, also next to the SAVE button at the top and bottom of the web page interface as well. Other than this, I love the whole system and it has saved me a ton of work and made me so much more productive. I am going to go donate right now, and already purchased the iOS app. Thanks so much!
Author
Owner

@marcelklehr commented on GitHub (Aug 17, 2025):

Hi @FlootingDream, hi @esquiremh !
Thank you both for taking the time to give feedback! I appreciate it!

@FlootingDream: I think this is a good feature request to have an option for deleting the bookmarks file before syncing.

@esquiremh: Thank you for weighing in with your experience!
Are you talking about the 'force sync' button or the the 'push up once' button? The force sync button should almost always be unnecessary nowadays, I think, except when you want to sync immediately. The 'push up once' button automatically changes the sync strategy only for the next sync run, so you shouldn't have to change the strategy manually beforehand. Are you hitting the failsafe often? If that is the case maybe it is too overzealous, but only you can know if it catches a faulty duplication / removal, or if you really added a lot of bookmarks in one go.

However, there are still errors and problems with syncing, and I have them quite frequently, on every machine, daily.

I really recommend reaching out to me with errors and bugs here, so I can fix them. I think that would benefit everyone and would probably spare your nerves, too :)

<!-- gh-comment-id:3194597181 --> @marcelklehr commented on GitHub (Aug 17, 2025): Hi @FlootingDream, hi @esquiremh ! Thank you both for taking the time to give feedback! I appreciate it! @FlootingDream: I think this is a good feature request to have an option for deleting the bookmarks file before syncing. @esquiremh: Thank you for weighing in with your experience! Are you talking about the 'force sync' button or the the 'push up once' button? The force sync button should almost always be unnecessary nowadays, I think, except when you want to sync immediately. The 'push up once' button automatically changes the sync strategy only for the next sync run, so you shouldn't have to change the strategy manually beforehand. Are you hitting the failsafe often? If that is the case maybe it is too overzealous, but only you can know if it catches a faulty duplication / removal, or if you really added a lot of bookmarks in one go. > However, there are still errors and problems with syncing, and I have them quite frequently, on every machine, daily. I really recommend reaching out to me with errors and bugs here, so I can fix them. I think that would benefit everyone and would probably spare your nerves, too :)
Author
Owner

@esquiremh commented on GitHub (Aug 19, 2025):

@marcelklehr Thank you for the reply! Well, I was suggesting adding a button that does each, and to specifically put it at the top and bottom of the web page interface. The reason for this is that although I have enjoyed learning and using the product, it isn't something I can rely upon working as expected very often. I would say that recently it has gotten a bit worse with not ever NOT messing up the ordering of the bookmarks - not all of them, but at least a few here and there. So I often resort to fixing the incorrect ordering, doing the Reset cache button, then forcing the push up to the server, and then forcing a download back from the server on all of my other machines and browsers. It's taken a lot of time to fiddle with all of that but I have thought it was worth it to learn the product better. So, I figured at least for testing, if not also for users in general, adding these buttons would make it easier (one click). So to answer your question, I would say I have had to do this 20-40 times per day on each machine for the last week :( Perhaps my bookmarks file is too large or overly complicated? I can share it with you if that would make it easier to test it on your end. Similarly, today I ventured into trying to use the product for syncing Tab Groups and that worked on the upload (I think) but on the download into another browser or another profile within Chrome, I could see it loading the groups in and opening them, even with group colors, but then it errors out and "crashes" with ALL of the tab groups gone, not open, and NO tabs open :( Once again I can share the files with you if that would be helpful. I'm attaching the debug logs as a start for now but do let me know if there is a secure way to get you the other source files if you desire to look at them. For the Tab Groups Crash I will just paste that here:

Invalid window ID: 1755643884494077 Invalid window ID: 1755643884498055 Invalid window ID: 1755643884498055 Invalid window ID: 1755643884498055 Invalid window ID: 1755643884498055 Invalid window ID: 1755643884498055 Invalid window ID: 1755643884498055 Invalid window ID: 1755643884498055 Invalid window ID: 1755643884498055 Invalid window ID: 1755643884498055 Invalid window ID: 1755643884503099 Invalid window ID: 1755643884503099 | Last

Thanks! Mitch

Oh, one more thing - how did you come up with the name of Floccus??

floccus-5.6.0-2025-08-19-full.log

<!-- gh-comment-id:3202714231 --> @esquiremh commented on GitHub (Aug 19, 2025): @marcelklehr Thank you for the reply! Well, I was suggesting adding a button that does each, and to specifically put it at the top and bottom of the web page interface. The reason for this is that although I have enjoyed learning and using the product, it isn't something I can rely upon working as expected very often. I would say that recently it has gotten a bit worse with not ever **NOT** messing up the ordering of the bookmarks - not all of them, but at least a few here and there. So I often resort to fixing the incorrect ordering, doing the Reset cache button, then forcing the push up to the server, and then forcing a download back from the server on all of my other machines and browsers. It's taken a lot of time to fiddle with all of that but I have thought it was worth it to learn the product better. So, I figured at least for testing, if not also for users in general, adding these buttons would make it easier (one click). So to answer your question, I would say I have had to do this 20-40 times per day on each machine for the last week :( Perhaps my bookmarks file is too large or overly complicated? I can share it with you if that would make it easier to test it on your end. Similarly, today I ventured into trying to use the product for syncing Tab Groups and that worked on the upload (I think) but on the download into another browser or another profile within Chrome, I could see it loading the groups in and opening them, even with group colors, but then it errors out and "crashes" with ALL of the tab groups gone, not open, and NO tabs open :( Once again I can share the files with you if that would be helpful. I'm attaching the debug logs as a start for now but do let me know if there is a secure way to get you the other source files if you desire to look at them. For the Tab Groups Crash I will just paste that here: Invalid window ID: 1755643884494077 Invalid window ID: 1755643884498055 Invalid window ID: 1755643884498055 Invalid window ID: 1755643884498055 Invalid window ID: 1755643884498055 Invalid window ID: 1755643884498055 Invalid window ID: 1755643884498055 Invalid window ID: 1755643884498055 Invalid window ID: 1755643884498055 Invalid window ID: 1755643884498055 Invalid window ID: 1755643884503099 Invalid window ID: 1755643884503099 | Last Thanks! Mitch Oh, one more thing - how did you come up with the name of Floccus?? [floccus-5.6.0-2025-08-19-full.log](https://github.com/user-attachments/files/21873554/floccus-5.6.0-2025-08-19-full.log)
Author
Owner

@esquiremh commented on GitHub (Aug 20, 2025):

OMG I'm such an idiot. After using the product day and night for I think 2-3 months now, I am just now realizing that there are those two arrows you were speaking of to push up / down once. I have been doing everything the much harder way 🤦🏻‍♂️ I'm so sorry for the confusion. That said, I could still use some help with the errors above. Also, the issue of the bookmarks getting out of order seems to be solvable by renaming the bookmarks file on my Google Drive with "-old" and then forcing a push Up again. When doing that, and then clearing the bookmarks on a 2nd machine/browser, and forcing a pull down, indeed they come back down in proper order!

<!-- gh-comment-id:3203903596 --> @esquiremh commented on GitHub (Aug 20, 2025): OMG I'm such an idiot. After using the product day and night for I think 2-3 months now, I am just now realizing that there are those two arrows you were speaking of to push up / down once. I have been doing everything the much harder way 🤦🏻‍♂️ I'm so sorry for the confusion. That said, I could still use some help with the errors above. Also, the issue of the bookmarks getting out of order seems to be solvable by renaming the bookmarks file on my Google Drive with "-old" and then forcing a push Up again. When doing that, and then clearing the bookmarks on a 2nd machine/browser, and forcing a pull down, indeed they come back down in proper order!
Author
Owner

@marcelklehr commented on GitHub (Aug 20, 2025):

Oh, one more thing - how did you come up with the name of Floccus??

The name comes from a cloud formation called Cirrus Floccus, which I found fitting as this is a small companion to sync your bookmarks to the cloud (initially only nextcloud) :)

<!-- gh-comment-id:3205329085 --> @marcelklehr commented on GitHub (Aug 20, 2025): > Oh, one more thing - how did you come up with the name of Floccus?? The name comes from a cloud formation called [Cirrus Floccus](https://en.wikipedia.org/wiki/Cirrus_floccus), which I found fitting as this is a small companion to sync your bookmarks to the cloud (initially only nextcloud) :)
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#1356
No description provided.