Turn on which sync first?

I’m a bit confused about how to set up sync. I have a Windows Brave that is fully populated with bookmarks, etc., and I’m planning to install a clean Brave on a new Linux Mint box. I would like to sync the Windows Brave TO the Linux Brave, and not the reverse of course, as that would “depopulate” my Windows Brave.

If someone could explain the protocol for doing this, I’d be very appreciative.

Thanks

@SetagayaGirl it doesn’t matter which one you create the sync chain with or anything. The way sync works is that it first puts everything together, making sure all devices have the same information. So if your Windows has 100 bookmarks and your Linux has 10, you’ll end up with 110 bookmarks (assuming all are different) on your Linux and Windows.

Once everything is matched, it then replicates all actions taken on either device. So if you delete a bookmark from Linux, it will remove it from Windows or vice versa.

Key takeaway is that neither machine will be seen as “the host” and it won’t remove anything on the initial syncing. Things only get removed after you have them synced together and take actions like adding or removing info.

NOTES:

Three things I want to advise:

  1. It’s probably best to leave History sync off for now unless you absolutely need it. Since full history sync was added, there have been a lot of issues with sync chains hitting commit limits and then sync chains breaking. Once a chain is/was broken, we pretty much have no choice but to delete the sync chain and create a new one. Leaving History disabled prevents this for now.

  2. Keep in mind that Sync is not a backup. Lots of people have thought the codes would be the same and it could be used to keep their information safe similar to how passwords and other information get saved on Google. But this isn’t what sync is all about and the code does change daily. There also is still talk of them eventually making additional changes to how sync codes work. So don’t rely on it to think your information is saved somewhere to be restored. Instead just keep in mind it’s there only to replicate data between multiple devices.

  3. Lastly, it’s always recommended you do occasional backups of your data just in case anything ever goes wrong. While rare, some people have reported losing all data after updates or accidentally deleted things (which then synced) and they lost it forever.

Thank you very much. All good stuff, esp the history part.

But I am still not sure what syncs to what. In other words, how do I avoid a new instance of Brave syncing itself (with no bookmarks or settings) to an older instance, thereby wiping out its bookmarks and settings?

Thanks again.

@SetagayaGirl shorter answer is it prioritizes adding information over deleting. When you add a device, it won’t remove anything. Same with suddenly turning on a new option in sync.

It won’t go older, but it will go by last info sent in. So like right now if I delete my bookmarks, it’ll send something to the sync server to let it know. Then when I login on my other computer, it will remove those bookmarks on that device/profile as well.

Key thing is, there’s no “host” computer. Each and every action or piece of data on one synced device will happen to another. This happens within minutes of you doing anything.

I am going to tag in @Mattches on this to see if he can help confirm here, as I am hesitant. But I’m pretty sure even if you had an older device you hadn’t been using that is on the sync chain and you suddenly boot it up, you wouldn’t have info removed on the other devices. Instead, it would update that older device so it has the new information. But in doing so, the old device might lose any bookmarks you have since deleted…it’s this latter part that I’m hoping Mattches and/or Alexey might help clarify.

Also tagging him in just in case he might see your questions differently and/or have a better response.

For clarity sake. I’m just another user who is active and helps here. Mattches is official browser support from Brave.

1 Like

Looking forward to not making any mistakes. :slightly_smiling_face: Thank you for your help!

Oh, and editing here, the instance for Linux hasn’t even been downloaded yet. So, I suppose the thing to do is turn on sync in Windows. It would have nothing to sync either to, or from. Then go ahead and install the Linux instance, and turn that on?

Even in the sync setup (Windows instance), they ask which type of device would you like to sync to (not with). So that indicates directionality, right? So I’m not sure what, if anything, I would have to do in Linux once I install that instance.

It’s better to think of Sync as a merging of data, rather than the replacing of it. So a device with 0 bookmarks (or other data) being added to the Sync chain will then be merged with the other device(s) on the chain and receive those bookmarks.

I actually made a document about Sync behavior to avoid this confusion some time ago:

Hope this helps

1 Like

I’m thinking that I might be … you know … thick. :upside_down_face:

I had actually read your article, Mattches, before posting my first query. It’s wonderful, and I understand it more or less completely, I think. Certainly the diagram, which is a 3-chain device, makes easy sense to me. Any change anywhere, propagates everywhere.

The problem for the thick one, who would be me, is that I do not understand how these devices came to have identical data in the first place. That is: How (specifically, in what order) were these devices initially chained? It seems to me that when the chain was created, none of the devices had identical data (possible, but it seems unlikely). Once they *have identical data, this seems easy. Any change, anywhere, gets propagated to every device on the chain. That much, seems like summing two-plus-two.

In my case, there will be only 2 devices. Maybe 3 later, but adding a third will introduce the same problem that my thickness doesn’t understand when creating even a 2-device chain … in which the data on the 2 devices does not initially match.

Which is the initial master, and which is the initial slave? I understand (or believe I do) that once “osmosis” has occurred :stuck_out_tongue_winking_eye: (data is identical), both/all devices are masters as well as slaves. They are masters at the moment any data is being added, altered, or deleted, because they will then cause the same to happen to other devices on the chain. The other devices have no say in this, so they are slaves, until such time as their data is changed directly by a user, and they then become masters, who “call the tune” for the entire chain.

But we have to get there, first. :confused:

So, initially, assume a huge data imbalance, which will certainly be the case for me. Two devices. Let’s call 'em A and B. A is a worldly rogue of a browser. Lot’s of data. I mean, this bad boy has been around the block. B, however, is a trembling virgin. How do I chain them (this is good imagery, yes?) :joy: so that B, during the initial copulation, does not wipe A’s memory of all worldliness, so to speak, but rather learns everything that A knows, instead? Once they are equal, it seems easy-peasy. But how to get there? Well, I’m thick, I guess.

Thanks for your help.

@SetagayaGirl guess I’ll phrase it a bit differently.

Step 1: Turn on Sync.

Step 2: Original device sends info to sync server

Step 3: Add device to sync chain

Step 4: New device sends info to sync server (meaning now ALL information from both devices are now accumulated together, with nothing being replaced)

Step 5: All data in sync server gets sent to both devices (This makes it so all devices have the same info)

Step 6: Any changes made on any device is sent to sync server and distributed, making sure all have the same info.

Then if you ever add a third device, it kind of does the same. Info from 3rd device gets added to the existing data on the sync server and then all data is synced/distributed, where all have the same info. It always puts the priority on maintaining or adding, only allowing information to be removed after everything is on equal terms.

Is this making any better sense?

1 Like

So this is why it’s helpful to think of it as “merging” rather than “moving”, “swapping” or “replacing”. The truth is that it doesn’t matter what order you do it in, the result will be the same.

In your example, if it makes you feel better/more confident, start the Sync chain with device A that has a bunch of data. Create a Sync chain with that data. Sync servers now have all of device A’s data.

Now go to device B and add it to the Sync chain by selecting the I have a Sync code option. Add device B to the Sync chain — now, device B’s data will be sent to the server.

The next time a “Sync event” triggers (this occurs on regular intervals and/or whenever the browser is launched), device A will look at the server and say “Hey, there’s new data here! I’m going to add that.” and it will Sync any data on the server it doesn’t already have and add it. At the same time, device B will look at the server and say “Hey, there’s new data here! I’m going to add that.” and it will sync any data on the server it doesn’t already have (in this case, all the data contained on device A that was uploaded to the server).

Both devices now have the same data (they’ve “merged” they’re data). It will always be the “union” of the data sets when new data is detected.

EDIT: I didn’t see that @Saoiray responded before me but yes he is right on the money.

2 Likes

It makes sense if the following:

Device A starts a chain.

Device B joins.

No data is deleted from either device when B joins.

At some (indeterminate, to me) time after the chain creation, data deletion would occur if any data was manually deleted from one or the other device, after data had once been equalized.

I guess, to sum it up, my understanding would be that no data would ever be deleted upon joining a chain. But once joined, data deletion could occur, as above.

Is that correct?

And thanks!

@SetagayaGirl yes that is correct. Adding a device to a Sync chain will not delete any data. Once data is equal/fully synced, the only way data can be removed would be to manually delete it.

In the example used previously, after you have device A and B on the chain, if you were to then manually delete all of device A’s bookmarks, then all of those bookmarks on device B would be deleted as well (assuming that the Bookmarks data type is toggled “on” for both devices).

1 Like

This is the key, I guess. This is like “the first rule of robotics”, then?

I will go ahead and try now. I’m fully backed up, unusually frequently, like only the truly paranoid among us can fully appreciate. :joy: So if it doesn’t work out, I have to press more keystrokes, is all.

2 Likes

The above quote makes me ask another question.

Once everything is equalized, (let’s assume two devices) if I toggled something OFF for some types on one device, it would then be a “slave” only for those types of data? And if I toggled OFF for some types on both devices, data sharing would cease for those types of data, but continue for the other types?

If you toggle something off, then it no longer sends or receives any information regarding that category from Sync. Everything (in that category) would only be stored and handled locally

Correct.

1 Like

This almost worked perfectly.

Bookmarks: check
Themes: check
Homepage: no (speed dials not present on the new Linux installation, and Brave Talk/Brave Rewards cards present on the Linux installation, but were removed–hidden–from the Windows installation)

So, some minor customization still needed on Linux.

But I wonder why all settings (clearly) have not been synced.

Almost, but not perfect.

Thanks.

P.S. I synced everything but history, per some previous advice. History is not essential, anyway.

P.P.S. Open tabs did not sync, at all. I have since turned it off on both sides, as I consider it nonessential, as well.

Final outcome here is “solved”, I’m pretty sure. I finally realized, a bit to my surprise, that when I finally “hid top sites” and “hid frequently visited”, that the little speed dial corner was immediately synced as I had originally hoped/suspected. So those hidden things were indeed, not synced, and syncing wasn’t done until I hid them. The same for the rewards and cards, I guess. I had to hide them myself on the new box, even though they’d been hidden on the other one.

But really, this is solved, and it went, about 99.9% as expected. And, thanks to the help I received here, I pretty much know what to expect in the future.

Thanks all,

Yuki

(Tokyo, Japan)

P.S. I marked one as a “solution”, but it was more a team effort. Don’t know if I can select more than one.

@Saoiray
For adding a new device to the chain, which you want to adopt all settings from a previously established device, how does “merging” settings work or make sense?

If the new device has default settings, how are these settings “merged” with the desired configuration of settings you have locked in on a previous device? Half of one and half of the other = wrong settings, no?

Doesn’t it make sense to have an option to completely “replace” or overwrite everything on the new device when setting up (upstream wins) so there are 0 conflicts? Otherwise it would seem you’d have to manually configure the new device to exactly match the saved settings from the old device, negating some value of sync in the first place. Help me understand please.

I’m always hesitant to start using sync because I don’t want to screw up established data by overwriting it with an unconfigured new system, it seems like my concern is the opposite of many in this thread. “Merge” makes sense for a collection of data that is additive, like bookmarks, which is the simplest and in some sense least risky sync scenario.

“Settings” is not additive, it is not a growing collection of things but a finite set with specific values. One or the other has to win, old or new. How do I “merge” my DNS configuration? And the naive approach, “last man wins”, means my new device overwrites the desired “old” settings no? A simple radio switch of “old, new, merge” for different categories of sync, at least on initial setup, seems the only solution here.

@cdock,
Part of the entire purpose of Sync is the ability to move all your data and/or applicable settings from one device to a new device. The new device with “default” settings would obviously not overwrite established settings.

If you have an established device, start the Sync chain there. If you then add another device to the chain and Sync everything, both devices and browser instances should more or less contain exactly the same data [as the established device].