Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with Syncing Tabs and Bookmarks Root Simultaneously #689

Closed
simonspa opened this issue Oct 19, 2020 · 21 comments
Closed

Issue with Syncing Tabs and Bookmarks Root Simultaneously #689

simonspa opened this issue Oct 19, 2020 · 21 comments
Labels

Comments

@simonspa
Copy link

Describe the bug
I'm not entirely sure this qualifies as bug, but it definitely is something that might pose a problem for users. I was really excited to see the tabs sync appear in the recent release notes of floccus 4.4, so I updated and added a new sync to my existing bookmarks root folder sync to also store my tabs. Syncing the tabs up to the server works fine, I have selected a new folder /Tabs as target directory.

However, now when trying to sync my bookmarks (root folder, /) it apparently also tries to sync the /Tabs folder down agan as bookmarks and tells me: "The bookmark root cannot be modified".
I guess it would be good to mention this sort of issue in the "limitations" section of the README? Unless there is an easier way out than not syncing the bookmarks root...

To Reproduce
Steps to reproduce the behavior:

  1. Create bookmarks root sync (target: /)
  2. Sync it - works fine
  3. Create tabs sync in addition (target: /Tabs)
  4. Sync it - works fine
  5. Sync bookmarks again - See error

Expected behavior
Either it should work (tm) but I don't think that's easily possible, the error message is quite clear, or the limitation should be mentioned in the README or even during setup of the syncs.

Desktop (please complete the following information):

  • OS: Ubuntu 20.04
  • Browser: Firefox
  • Browser Version: 81
  • Floccus version: 4.4.0
  • Floccus sync method: nextcloud

Server (please complete the following information):

  • OS: Debian 10
  • Nextcloud version: 19.0.4
  • Bookmarks app version: 3.4.4
@simonspa simonspa added the bug label Oct 19, 2020
@simonspa
Copy link
Author

There seems to be more going on... I realized, inside my /Tabs folder mentioned above I have another folder without name, and only therein my tabs:

image

So I thought "hm, let's just try to sync the tabs to / then and see if there is some magic going on - but that resulted in the sync running veeery long (several minutes) before I interrupted it. Any hints what to look for?

@marcelklehr
Copy link
Member

Tab sync is still experimental, but a way to make this work in your case, would be to sync the bookmark root to a sub folder on your server, or sync the tabs via webdav.

@simonspa
Copy link
Author

Alright, thanks for the feedback! I have noticed that for me, tabs I have recently closed reappear through the sync quite often... For now I switched off automatic sync and just push them manually once in a while. Maybe this could done when closing the browser for example?

@marcelklehr
Copy link
Member

You can also set the sync strategy to always push, if that's what you want.

@simonspa
Copy link
Author

I'll have to think about what I actually want to be honest... 🤣 For now I was just playing with a cool new feature! Thanks a lot!

@marcelklehr
Copy link
Member

Personally, I also think turning automatic sync off and just pushing and pulling manually is quite useful.

@mmalisz
Copy link

mmalisz commented Oct 19, 2020

Hi all.

I've got the same issue. It started with the "The bookmark root cannot be modified" message, but I've disabled the auto sync, restarted browser, forced - pushed and everithing was fine.

However after I've tried to pull, I get a new error: "Nextcloud API error: {"status":"error","data":"invalid children order: A child is missing: folder:46"}". What is strange, it keeps re-creating those directories. With every sync trial.

Floccus: v4.4.0
Nexcloud: 19.0.4
Bookmarks: 3.4.4

@marcelklehr
Copy link
Member

@mmalisz This should be fixed in the latest version, now.

@mmalisz
Copy link

mmalisz commented Oct 20, 2020

@marcelklehr, I've got yet another issue:
Cannot map parentId:toolbar_____
Doesn't matter if I try to push the bookmarks to exsisting root, or if I try to push to a new root.

Also, the browser is Firefox 81.0.2 (64 bit).

@marcelklehr
Copy link
Member

@mmalisz Could you try deleting everything on the server and starting a sync from scratch in the account settings?

@mmalisz
Copy link

mmalisz commented Oct 20, 2020

@marcelklehr, nope, no luck.
I've truncated all the bookmarks tables, the error's still there. It happens for both "/" and "/somename" roots.
However, in case of "/somename", an empty directory is created.

@mmalisz
Copy link

mmalisz commented Oct 20, 2020

@marcelklehr, all right, seems to be fine now.
It has started working after instead of trying "sync up" button, I've pressed "sync now".

@candrapersada
Copy link

candrapersada commented Mar 7, 2021

will there be a feature to pull tabs from the cloud when the browser starts?

@marcelklehr
Copy link
Member

@candrapersada Not at the moment no.

@mnalis
Copy link
Contributor

mnalis commented Mar 12, 2022

@candrapersada do note that such feature might likely have a lots of problems, for example off the top of my head:

  • browser would have to "hang" on startup (i.e. forbid user to add / remove / modify any tab) until it syncs tabs due to nature of the request (or the synced tabs would be completely wrong, new tabs you opened would disappear mid-usage etc.)
  • if sync takes long (due to low bandwidth, or high number of tabs, or slow server, etc...) it would mean you're unable to use browser at all for minutes (or longer) after you started it
  • if there is a problem with server (server unreachable due to network routing or firewall or server hangup or whatever), you'd likely be unable to use the browser at all (or at least until timeout occurs at e.g. 5 minutes, if you accept that all new tabs that you open from that moment on will be lost in all browsers, including that one, on next startup).
  • some of those problems might be partially addressed (for example, cancel button might be shown to abort slow or hanged sync), but then you would have to remember to manually sync tabs before you close the browsers, or all your new changes would be lost (or worse - only partially-synced tabs pushed to server, which would cause all other instances of browser to also lose all those tabs when they start)
  • you would be disallowed to ever have more then only one browser opened until all other browsers are closed and have correctly pushed their changes - or you would randomly lose all tabs on all browsers which have not synced correctly. Which for example means that if your browser crashed (or you forcefully closed it without syncing first, or your laptop shutdown due to low battery etc), all tabs on all browsers (including the one which didn't push changes correctly) would be lost (as on startup they would sync changes from server)

IOW I don't think that pull tabs on startup would be good idea ever. merge tabs on startup, maybe, although even that is dubious and has its problems (e.g. it would be a chore to make sure that the tabs you closed do not reappear on next startup)

@marcelklehr
Copy link
Member

@mnalis I mostly agree. I think for now the most useful mode is to manually push and pull tabs, unless someone has a better idea on how tab sync could be improved -- please open a new issue in this case, though.

@candrapersada
Copy link

candrapersada commented Mar 12, 2022

if so, how about auto disable tab sync when starting browser?
image

@marcelklehr
Copy link
Member

That'd be totally unexpected

@hellomiakoda
Copy link

hellomiakoda commented Jun 14, 2022

How tab syncing works via the built in feature in Vivaldi, for example, is your browser syncs tabs to the cloud - and there is a menu where current tabs are listed per device. I can open that menu, pick a device, and open any tabs from any other device.
I'd really like to see Floccus work this way - even if it uses a folder in bookmarks (and corrosponding sub folders for each device) to do this instead of it's own menu. With tab sync and bookmark sync combined, this could easily be done by Floccus simply syncing the local tabs to it's corrosponding local bookmark sub-folder, and the bookmark sync would go ahead and sync that sub folder with the rest of the bookmarks. Doing it this way would have the added benefit of being able to open those current tabs from NextCloud on machines or browsers that do not have Floccus installed. Maybe I'm using someone else's PC, or maybe Im trying to accomplish something on a game console's browser and my PC has a tab open I need.

So in options for sync tabs, let me pick a local bookmark folder to sync to. It just pushes to that local folder (Tab Sync/HOSTNAME/ Or maybe /Tab Sync/Crappy Laptop). Then I can open it from any browser my bookmarks are synced to.
By letting the user decide what local folder, it also gives the option of letting me pick if I want those open tabs further sorted by browser (/Tab Sync/Crappy Laptop/FireFox)

Why not use Vivaldi's built it? I do, for now. But... It doesn't cover other browsers I use, and, more importantly, I'd be much rather having this data on MY server instead of thiers.

@marcelklehr
Copy link
Member

marcelklehr commented Jun 17, 2022

-- see #1200

@github-actions
Copy link

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.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 18, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
Status: Done
Development

No branches or pull requests

6 participants