Sync Settings don't persist on Mac

Description of the issue:
Syncing has worked correctly in the past, but it has recently stopped working for on my MacOS (10.15.7 Catalina) machine. The Sync page in settings shows the other devices in the sync chain correctly, but the Sync Settings section is always reset to empty every time I visit it. (i.e. Neither “Sync everything” nor “Customize sync” appear as selected, and all of the options in the “Sync data” section are switched off.)

If I modify the settings, navigate away, and return to the Sync settings page, I find the settings have again reset to this “zero state”. Multiple restarts of both the browser and the OS have not helped. I also cannot leave and rejoin the sync chain, because the Leave Sync Chain option has no effect.

Steps to Reproduce (add as many as necessary): 1. 2. 3.

  1. ? (I’m not sure how it got into this state)
  2. Just navigate to SettingsSync

Reproduces how often:
Every time, now that it’s broken. (Like I said, sync used to work correctly.)

Brave Version(See the About Brave page in the main menu):
v 1.21.74

Type of devices currently running on the Sync chain in question:
One each of MacOS, Linux, and Android

1 Like

@mpillsbury,
Thank you for reaching out to us.
That is a weird state to be in. Would you mind sharing a screenshot of the Settings --> Sync section on your Desktop browser, just so I can be sure I’m understanding the situation correctly?

So on your other devices, are they also in this same strange state? And to confirm, the data is not Syncing in this state, correct?

Sure thing!

My other devices are fine, syncing with each other. But as you can see from the screen shot, they haven’t been syncing with the Mac for about a month (and vice versa). The Mac is in some weird limbo where it’s both part of the sync chain and not.

1 Like

I came here to post the same thing, exactly the same problem, I’m on MacOS Big Sur 11.2.2.

In case it helps: I opened up the console and whenever I click on any of the sync toggles at all on the page, it gives an error in the console.

It also has an error if I just refresh the page. Here is that error when refreshing the sync settings page:

Uncaught ReferenceError: cr is not defined
    at <anonymous>:1:1
(anonymous) @ VM120:1

Error when clicking on “sync everything”:

Uncaught TypeError: Cannot read property 'appsSynced' of undefined
    at HTMLElement.handleSyncAllDataTypesChanged_ (shared.rollup.js:2949)
    at HTMLElement.onSyncDataRadioSelectionChanged_ (shared.rollup.js:2949)
    at HTMLElement.handler (polymer_bundled.min.js:1)
    at dispatchNotifyEvent (polymer_bundled.min.js:1)
    at Object.runNotifyEffect [as fn] (polymer_bundled.min.js:1)
    at runEffectsForProperty (polymer_bundled.min.js:1)
    at runNotifyEffects (polymer_bundled.min.js:1)
    at HTMLElement._propertiesChanged (polymer_bundled.min.js:1)
    at HTMLElement._flushProperties (polymer_bundled.min.js:1)
    at HTMLElement._flushProperties (polymer_bundled.min.js:1)
handleSyncAllDataTypesChanged_ @ shared.rollup.js:2949
onSyncDataRadioSelectionChanged_ @ shared.rollup.js:2949
handler @ polymer_bundled.min.js:1
dispatchNotifyEvent @ polymer_bundled.min.js:1
runNotifyEffect @ polymer_bundled.min.js:1
runEffectsForProperty @ polymer_bundled.min.js:1
runNotifyEffects @ polymer_bundled.min.js:1
_propertiesChanged @ polymer_bundled.min.js:1
_flushProperties @ polymer_bundled.min.js:1
_flushProperties @ polymer_bundled.min.js:1
_invalidateProperties @ polymer_bundled.min.js:1
_setProperty @ polymer_bundled.min.js:1
Object.defineProperty.set @ polymer_bundled.min.js:1
select_ @ shared.rollup.js:2574
onClick_ @ shared.rollup.js:2574
handler @ polymer_bundled.min.js:1

And one more for fun, an error when clicking on an individual sync type, Apps:

shared.rollup.js:58 Uncaught Error: Assertion failed
    at assert (shared.rollup.js:58)
    at HTMLElement.onSingleSyncDataTypeChanged_ (shared.rollup.js:2949)
    at HTMLElement.handler (polymer_bundled.min.js:1)
    at HTMLElement.fire (polymer_bundled.min.js:1)
    at HTMLElement.toggleState_ (shared.rollup.js:1654)
    at HTMLElement.onClick_ (shared.rollup.js:1654)
    at HTMLElement.handler (polymer_bundled.min.js:1)
assert @ shared.rollup.js:58
onSingleSyncDataTypeChanged_ @ shared.rollup.js:2949
handler @ polymer_bundled.min.js:1
fire @ polymer_bundled.min.js:1
toggleState_ @ shared.rollup.js:1654
onClick_ @ shared.rollup.js:1654
handler @ polymer_bundled.min.js:1

Also, don’t know if it relates to the problem, but my mac has a few new bookmarks not on other devices in the sync chain, and the other devices have a new bookmark not on the mac. Other devices sync with each other, but they all say the last time the mac synced was Sat Feb 13 2021

1 Like

@jonyo,
That is super helpful, thank you. Apologies on the long wait time here – discussing this with the Sync team now, thank you for your patience.

1 Like

@mpillsbury @jonyo,
Sync team has confirmed that this appears to be a bug. Other users may also be experiencing the same thing even if not reporting. I’ve opened the following issue for the devs to review and fix the problem:

Also, just in case, we did push a release out to the stable build today and while I don’t think there was anything in it specific to Sync/this issue, please ensure you update your browser to the latest (v1.21.76 at the time of writing this) and see if the update shakes anything loose.
Otherwise I hope to have more information soon.

2 Likes

Had the same issue on Windows 10 and was able to fix this “bad sync state” by:

  1. Visiting brave://sync-internals
  2. Hitting the “Disable Sync (Clear Data)” button
  3. Re-enabling sync by re-entering the sync code

Hope that helps anyone else encountering this weird bug.

1 Like

Holy crap kkw you’re my hero. I’m totally back in business.

(Sorry to the devs because it doesn’t help them understand how I got into the state in the first place, but I’m a happy camper again.)

1 Like