[GH-ISSUE #797] Similar bookmarks deleted during sync #502

Closed
opened 2026-02-25 22:37:21 +03:00 by kerem · 8 comments
Owner

Originally created by @bgoodmansf on GitHub (Jan 21, 2021).
Original GitHub issue: https://github.com/floccusaddon/floccus/issues/797

Describe the bug

Sync UP removes bookmarks which have the same URL but different titles.

On first sync UP several bookmarks disappeared from the local bookmarks. In each case, the bookmark had the same URL as another bookmark but a different title.

To Reproduce
Steps to reproduce the behavior:

  1. Open bookmarks panel
  2. Use CUT and PASTE to create a duplicate of a bookmark
  3. On the 2nd bookmark, change the description in the "Name" field to something different.
  4. Do Sync UP.
  5. 2nd bookmark is deleted from local bookmarks and is not present in XBEL file.

Expected behavior
Expect all existing bookmarks to remain on sync UP.
Expect bookmarks with same URL but different titles to be allowed.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Windows 10
  • Browser: Firefox]
  • Browser Version: 84.0.2
  • Floccus version: 4.4.8
  • Floccus sync method: webDAV

Server (please complete the following information):

  • OS: RaspOS
  • Nextcloud version: [if applicable]
  • Bookmarks app version: [if applicable]
Originally created by @bgoodmansf on GitHub (Jan 21, 2021). Original GitHub issue: https://github.com/floccusaddon/floccus/issues/797 **Describe the bug** Sync UP removes bookmarks which have the same URL but different titles. On first sync UP several bookmarks disappeared from the local bookmarks. In each case, the bookmark had the same URL as another bookmark but a different title. **To Reproduce** Steps to reproduce the behavior: 1. Open bookmarks panel 2. Use CUT and PASTE to create a duplicate of a bookmark 3. On the 2nd bookmark, change the description in the "Name" field to something different. 4. Do Sync UP. 5. 2nd bookmark is deleted from local bookmarks and is not present in XBEL file. **Expected behavior** Expect all existing bookmarks to remain on sync UP. Expect bookmarks with same URL but different titles to be allowed. **Screenshots** If applicable, add screenshots to help explain your problem. **Desktop (please complete the following information):** - OS: Windows 10 - Browser: Firefox] - Browser Version: 84.0.2 - Floccus version: 4.4.8 - Floccus sync method: webDAV **Server (please complete the following information):** - OS: RaspOS - Nextcloud version: [if applicable] - Bookmarks app version: [if applicable]
kerem 2026-02-25 22:37:21 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@marcelklehr commented on GitHub (Jan 30, 2021):

This is intended behaviour. Floccus removes duplicate URLs per folder. May I ask why you would have multiple copies of the same URL with different titles?

<!-- gh-comment-id:770208789 --> @marcelklehr commented on GitHub (Jan 30, 2021): This is intended behaviour. Floccus removes duplicate URLs per folder. May I ask why you would have multiple copies of the same URL with different titles?
Author
Owner

@bgoodmansf commented on GitHub (Jan 31, 2021):

May I ask why you would have multiple copies of the same URL with different titles?

The title and the info field may contain important information.

For example, a shipping company may not save the tracking number in the URL. I have several items arriving with different tracking numbers. I create a bookmark for each expected package, so I can delete the bookmark when the package is received. But I have to keep the tracking number separately. Saving the tracking number in the title or the info field is a convenient way to have the value handy when checking on the status of the shipment.

As another example, I have 3 accounts at a bank. Each account uses a different username. I need to remember that the username for the savings account is "joe1" and the username for the checking account is "joe2". I have a bookmark for each account but I need to remember what the correct username is for each account. The URLs are identical.

I have to say I was quite surprised to have bookmarks deleted from my system when I was doing an UP sync. I expected an UP sync would make no change to my system.

<!-- gh-comment-id:770460039 --> @bgoodmansf commented on GitHub (Jan 31, 2021): > May I ask why you would have multiple copies of the same URL with different titles? The title and the info field may contain important information. For example, a shipping company may not save the tracking number in the URL. I have several items arriving with different tracking numbers. I create a bookmark for each expected package, so I can delete the bookmark when the package is received. But I have to keep the tracking number separately. Saving the tracking number in the title or the info field is a convenient way to have the value handy when checking on the status of the shipment. As another example, I have 3 accounts at a bank. Each account uses a different username. I need to remember that the username for the savings account is "joe1" and the username for the checking account is "joe2". I have a bookmark for each account but I need to remember what the correct username is for each account. The URLs are identical. I have to say I was quite surprised to have bookmarks deleted from my system when I was doing an UP sync. I expected an UP sync would make no change to my system.
Author
Owner

@marcelklehr commented on GitHub (Feb 1, 2021):

I see. I recommend using the URL hash for things like that, or use a normal password manager. Other than that I'm not inclined to change this behavior as I think it's quite niche.

<!-- gh-comment-id:770737866 --> @marcelklehr commented on GitHub (Feb 1, 2021): I see. I recommend using the URL hash for things like that, or use a normal password manager. Other than that I'm not inclined to change this behavior as I think it's quite niche.
Author
Owner

@cegfault commented on GitHub (Apr 18, 2021):

I'm going to push back on this: I think this should at least be an "advanced option". Mostly for philosophical reasons, but also partially for usability.

I don't think a "sync-only" event should cause deletions, at least without an option to reverse or prevent it.

For my use case, I sync between devices. I usually save information in the title to make searching faster. Sometimes websites have non-obvious names, and if I had trouble finding the site in the bookmarks I'll edit the title to include a search tag to help me find it. However, the sync process can be slow, and sometimes the sync will end up deleting the change. I would much, MUCH rather deal with duplicate bookmarks than to have software forcibly decide what should be deleted in a non-recoverable way.

I ended up removing Floccus from my laptop for exactly this reason. I simply cannot afford to lose information "on the go". It's happened more than once. Instead I do the old-school import/export before business trips, and ignore the duplicates.

I'm not saying it's "best" to allow duplicates, I'm saying that my biggest issue with Floccus, by far, is random deletes or disappearing information, and a simple "allow duplicates option" would go a very long way to making me more comfortable with using the extension.

<!-- gh-comment-id:821946621 --> @cegfault commented on GitHub (Apr 18, 2021): I'm going to push back on this: I think this should at least be an "advanced option". Mostly for philosophical reasons, but also partially for usability. I don't think a "sync-only" event should cause _deletions_, at least without an option to reverse or prevent it. For my use case, I sync between devices. I usually save information in the title to make searching faster. Sometimes websites have non-obvious names, and if I had trouble finding the site in the bookmarks I'll edit the title to include a search tag to help me find it. However, the sync process can be slow, and sometimes the sync will end up deleting the change. I would much, MUCH rather deal with duplicate bookmarks than to have software forcibly decide what should be deleted in a non-recoverable way. I ended up removing Floccus from my laptop for exactly this reason. I simply cannot afford to lose information "on the go". It's happened more than once. Instead I do the old-school import/export before business trips, and ignore the duplicates. I'm not saying it's "best" to allow duplicates, I'm saying that my biggest issue with Floccus, by far, is random deletes or disappearing information, and a simple "allow duplicates option" would go a *very long way* to making me more comfortable with using the extension.
Author
Owner

@mnalis commented on GitHub (Apr 18, 2021):

@cegfault as a workaround (and perhaps even easier and nicer to use), one may use HTML anchors (# sign) to create different URLs, while still pointing to the same web page? For example:

http://www.example.com/some/path#user1
http://www.example.com/some/path#user2
http://www.example.com/some/path#user2

are all different URLs, so I guess they would not be marked as duplicates in Floccus (this is my assumption, needs verifying!), but all three would request just http://www.example.com/some/path from the server, and then try to position view on part of page that is marked with user1, user2 or user3 anchor (via HTML id or a name elements). If the named anchor does not exist (as it does not in your case), it does not matter, as loaded page will just remain positioned at the top, as if no anchor has been specified.

for real life examples, yo can try to open those those URLs:
https://en.wikipedia.org/wiki/HTML_element#Overview
https://en.wikipedia.org/wiki/HTML_element#Anchor

they will open completely the same page, but position it at different location instead of the start of the page, and using nonexistent anchor will remain positioned at the top of the same page:
https://en.wikipedia.org/wiki/HTML_element#This_does_not_exist
https://en.wikipedia.org/wiki/HTML_element#Neither_does_this

<!-- gh-comment-id:822006036 --> @mnalis commented on GitHub (Apr 18, 2021): @cegfault as a workaround (and perhaps even easier and nicer to use), one may use HTML anchors (`#` sign) to create different URLs, while still pointing to the same web page? For example: ``` http://www.example.com/some/path#user1 http://www.example.com/some/path#user2 http://www.example.com/some/path#user2 ``` are all different URLs, so I guess they would not be marked as duplicates in Floccus (this is my assumption, needs verifying!), but all three would request just `http://www.example.com/some/path` from the server, and then try to position view on part of page that is marked with `user1`, `user2` or `user3` anchor (via HTML `id` or `a name` elements). If the named anchor does not exist (as it does not in your case), it does not matter, as loaded page will just remain positioned at the top, as if no anchor has been specified. for real life examples, yo can try to open those those URLs: https://en.wikipedia.org/wiki/HTML_element#Overview https://en.wikipedia.org/wiki/HTML_element#Anchor they will open completely the same page, but position it at different location instead of the start of the page, and using nonexistent anchor will remain positioned at the top of the same page: https://en.wikipedia.org/wiki/HTML_element#This_does_not_exist https://en.wikipedia.org/wiki/HTML_element#Neither_does_this
Author
Owner

@cegfault commented on GitHub (Apr 18, 2021):

@mnalis Although this might be a valid workaround for some people, it most definitely is not for me.

You're asking me to remember to copy, paste, and manually edit the url of a bookmark literally every single time I want to make a simple update. No thanks. It's by far faster and easier to just manually export/import.

I also don't like disclosing hashtags to the website I'm visiting. I don't see any serious privacy concern there, but again, as a philosophical issue I don't think I should have to leak information about my tags to websites because software is forcibly deleting data on a "sync-only" event.

IMO the (by far) easier solution is a simple option/toggle, even hidden in an advanced menu.

If I was in your shoes, I'd definitely classify this as a low-priority issue, however the responses so far seem to be "it's not a bug it's a feature - and no we won't give you a way to change it".

<!-- gh-comment-id:822072392 --> @cegfault commented on GitHub (Apr 18, 2021): @mnalis Although this might be a valid workaround for some people, it most definitely is not for me. You're asking me to remember to *copy, paste, and manually edit the url of* a bookmark *literally every single time* I want to make a simple update. No thanks. It's by far faster and easier to just manually export/import. I also don't like disclosing hashtags to the website I'm visiting. I don't see any *serious* privacy concern there, but again, as a philosophical issue I don't think I should have to leak information about my tags to websites because software is forcibly deleting data on a "sync-only" event. IMO the (by far) easier solution is a simple option/toggle, even hidden in an advanced menu. If I was in your shoes, I'd definitely classify this as a low-priority issue, however the responses so far seem to be "it's not a bug it's a feature - and no we won't give you a way to change it".
Author
Owner

@marcelklehr commented on GitHub (Apr 19, 2021):

This issue stems from the fact that nextcloud bookmarks enforces this, so floccus, originally only a client for nextcloud bookmarks enforces this as well. Your objections make sense however. I will see what I can do.

<!-- gh-comment-id:822297471 --> @marcelklehr commented on GitHub (Apr 19, 2021): This issue stems from the fact that nextcloud bookmarks enforces this, so floccus, originally only a client for nextcloud bookmarks enforces this as well. Your objections make sense however. I will see what I can do.
Author
Owner

@github-actions[bot] commented on GitHub (May 24, 2023):

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

<!-- gh-comment-id:1560337461 --> @github-actions[bot] commented on GitHub (May 24, 2023): This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
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#502
No description provided.