Skip to content
This repository has been archived by the owner on Jul 31, 2020. It is now read-only.

Allow pause and resume of pending sync uploads #125

Closed
ayumi opened this issue Jul 4, 2017 · 5 comments
Closed

Allow pause and resume of pending sync uploads #125

ayumi opened this issue Jul 4, 2017 · 5 comments
Labels

Comments

@ayumi
Copy link
Contributor

ayumi commented Jul 4, 2017

When uploading sync records, a browser needs to remain online. If the browser exits then any pending sync uploads will be lost. This is okay for small numbers of records, but initial sync sends all bookmarks and could take many minutes (for 1000s of bookmarks).

If the browser is closed during initial sync, it should persist pending records and resume upload when reopened.

@srirambv
Copy link

image

Fetch fails if one of the connected device is offline
image

@ayumi
Copy link
Contributor Author

ayumi commented Jul 11, 2017

@srirambv sorry, can you clarify the issue you're seeing? (and if it appears even when devices all return online)

The message "Ignoring record" might happen normally when a browser client downloads its own records.

@srirambv
Copy link

srirambv commented Jul 11, 2017

Here's the steps that I followed

Pyramid 0 - Windows 10 x64 (Laptop)
Pyramid 1 - Ubuntu x64 VM

  1. Setup Sync on Pyramid 0
  2. Sync Pyramid 1 with code words
  3. Import bookmarks file(more than 3k records) in Pyramid 1
  4. Once sync records started showing up disconnected internet on the laptop (so both devices are offline)
  5. Connect back to internet sync completed both devices have the imported bookmarks folder (pyramid 0.json shared on slack)
  6. Disconnect VM and add a bookmark(in this case it was about:preference) , Record not synced on Pyramid 0 (screenshot 1 in the above reply) when VM is connected back to internet
  7. Disconnect VM again, add a new bookmark in pyramid 0 (this time it was Change to Parent bookmark folder on Android is not sycned to laptop or iOS device #107 ), bookmark not synced when VM is back online (screenshot 2 in the above reply)

So if one of the device is offline then records are not dropped.

@ayumi
Copy link
Contributor Author

ayumi commented Jul 11, 2017

@srirambv thanks for that really good STR!

I tried the STR and saw records aren't sent. However I restarted the Pyramids and all records were sent and received correctly.

Pending records are only reuploaded during sync init, which usually happens when you restart the browser. We don't handle connects/disconnects as they happen but maybe we can add that.

@srirambv
Copy link

srirambv commented Jul 12, 2017

However I restarted the Pyramids and all records were sent and received correctly.

So the user has to manually restart the browser every time the device is offline?? I feel the device connectivity has to be handled, as closing the browser deletes the tab history and would be a high impact if we ask users to restart the browser in order for the sync to complete.

Pending records are only reuploaded during sync init, which usually happens when you restart the browser.

Could this init be triggered when there is a disconnect and re-connect? That way when it reconnects the pending records are automatically sent across! avoiding the restart of pyramids?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants