Latest Sync Device overwrites bookmarks and settings

I'm currently syncing 2 PC's. I just added a third one that was a clean Vivaldi install. As soon as I synced it, it deleted (overwrote) all bookmarks and some settings. How can I tell Vivaldi Sync to use the existing Master (cloud) info to sync to the newest member and not the newest member overwriting the Master?

@rhk I'm not sure how you got the newest member to overwrite the master. Every time I add a member, it adds its content to the existing data, and then I have to go through at least one machine and delete all the duplicates and obsolete items from the new device, that have been added to the other devices.

I know, the bookmark situation is weird. The behavior to make all bookmarks additive makes sense. I guess if one doesn't want duplicates, one has to delete all standard bookmarks on the new client before syncing.

But how about the other settings. How does Vivaldi know which one is the master. Shouldn't there be a setting? Xmarks had options for the first synchronization.

@rhk At present, the copy on the server rules. Always. To change that, you have to go into settings and remove the data on the server, and then start the sync service over with the copy that you want to rule. So you can pick any member that you want as the default, but once its data is uploaded, the server once again rules. Knowing this, I make all changes to data on my #1 machine, unless I'm remote and have to add something.

More options are likely to be added down the road, but for now a very simple and predictable protocol is best - and easiest to maintain, making errors and data loss less likely.

Really?!? That's surprising. For sync, not just Vivaldi's but all sync'ing facilities, the newest should rule. Otherwise all your changes you make while you have lost connection to the sync server or while the sync server is down, will be lost.

If Dropbox did that on me, I'd be hugely annoyed, because potentially hours of work would be lost.

@ryofurue The server is always subject to changes from devices/instances that have been already connected at some prior time, of course, or sync would not work at all. But a new device cannot overrule the server copy. It can only add to it, which additions of course then propagate to all other devices or instances. No device which is not the server can assume the "master" role, and be set to decline all changes from other sources.

Sync could be programmed in a sufficiently sophisticated fashion that the server would recognize and reject duplicates from a new source, thus not adding them to existing instances - a sort of auto-de-duping function. But the simplest a most data-reliable pattern is to accept all new data, add it to existing data, and then propagate that addition to all existing devices/instances. In such a scenario, you could not (and can not) wipe the server by attaching an empty device.

That said, if you attach a device, sync it fully, and then wipe it, everybody loses all their data.

@ryofurue The server is always subject to changes from devices/instances that have been already connected at some prior time, of course, or sync would not work at all. But a new device cannot overrule the server copy.

Probably I misunderstood what you had said, or perhaps you misunderstood mine.

For a new device, it's debatable; you may be right. But, you said the data on the server always rules, which surprises me.

Suppose you have two Vivaldi instances, both of which have been connected to Sync.

At your workplace, you changed a setting to value A, which is sent to the Sync server.

You come home, and you changed your mind and changed the same setting to a different value, B.

Unfortunately, when you made that change, the sync sever was down.

As soon as the sync server comes up, the setting is set back to value A, because the server data always wins!

Is statement 4 really true? I hope not. In such a case, the new data should win, shouldn't it?

Now, what's the best behavior of Sync for a new device?

I would say, if you have changed some settings of Vivaldi on your new device, you don't want them to be overwritten by the old values on the server when you start to connect to the Sync server, do you? This scenario is actually a variant of statement 3 above. You make changes while your Vivaldi isn't connected to the server. You don't want the new settings to be overwritten by the old values when yo u are connected to the server.