Dangerous Sync Language and Help with Fixing Sync Profile
There are 2 processes involved in Firefox Sync, and 0 differentiation between them in the language used to describe what Firefox Sync does in any of the documentation, this makes nearly every discussion on the topic highly confusing to borderline misleading.
When you press Sync, you are pushing settings to Firefox servers. When you sign in to Sync, you are pulling settings from Firefox servers.
Both of these steps are referred to interchangeably as "syncing" and there is next to no documentation of what causes each to occur nor what they actually do.
Why is this dangerous you might ask? Well, let's say I buy a new computer, I want to set it up the same way I use all my devices, so I sign in to sync to synchronize my settings, makes perfect sense. Nothing tells me anything is happening when I sign in, so I click the sync button because I want to synchronize my settings with my other devices. Big mistake. I've just overwritten the server-side sync profile with a default Firefox profile. You know how you fix that? You sign in and press the sync button to overwrite the sync profile again. But you know what happens when you sign in? You become synced with the now blank sync profile and lose all the settings that you want to be pushing to the sync profile. This just happened to me. Thankfully I was only choosing to sync add-ons and options AT THE TIME and I have backups that are about 6 months old and I rarely change settings, but some things like my homepage URLs are something that I do change fairly often, and I'm sure some additional sites were whitelisted since by default I just reject all cookies. I also thankfully use policies.json to block updates so I didn't immediately get assaulted by that too.
SO! I HIGHLY suggest that when merely signing in to Sync, the default should be for syncing to be off to start off with, so that you can choose what to "sync" BEFORE it occurs. However, because of the language, the question arises, what am I choosing to sync for? Am I choosing what to PULL from servers? Or am I choosing what gets PUSHED to the servers? When syncing is turned on, does that mean I an pulling the settings that I have chosen? Or am I am pulling ALL settings while only pushing what I have chosen IF I click the Sync button? Or do I push EVERYTHING?
It's incredibly unclear how the Sync feature works and both of the "main" articles on it are completely useless for understanding it because the term "sync" is used interchangeably for pushing or pulling settings.
https://support.mozilla.org/en-US/kb/how-do-i-choose-what-information-sync-firefox https://support.mozilla.org/en-US/kb/sync-custom-preferences
What are the correct steps to rectify this horrid situation? Sign-in, set-up sync, choose "Options" and "Add-Ons" again, THEN copy over the backup settings, THEN Sync them to the "cloud"? If I have 2 different devices setup with sync, and 1 chooses to sync options and the other chooses to sync bookmarks, then I click sync on BOTH devices repeatedly, what occurs?
כל התגובות (6)
Interesting. Can you report it on Bugzilla? Thanks.
Please paste here the URL of your bug report.
TyDraniu said
Interesting. Can you report it on Bugzilla? Thanks. Please paste here the URL of your bug report.
Report what? As far as I'm aware there is no bug, the feature just has poor documentation and poor behaviour. If you visit the links I provided, you will see there is no distinction made between the 2 actions that can be performed, both are referred to as "syncing". There's also no description of what actually occurs when either actions are performed relative to the options you choose.
Bugzilla isn't exactly for tech support last I checked, why do you want this reported there? If anything, this should be added to the Discussion pages on the 2 "main" articles on Firefox Sync, but I wanted additional help with my situation.
I think that this can happen if the name of the new device is the same as the name that was used previously what makes Firefox think that this is not an initial sync, so always make sure to use a unique name for a (new) device you connect. There is no difference with the way you connect to Sync, in all cases there is an initial sync that uploads data to the Sync server and data on the Sync server is merged with the current profile.
cor-el said
I think that this can happen if the name of the new device is the same as the name that was used previously what makes Firefox think that this is not an initial sync, so always make sure to use a unique name for a (new) device you connect. There is no difference with the way you connect to Sync, in all cases there is an initial sync that uploads data to the Sync server and data on the Sync server is merged with the current profile.
What is an "initial sync"? If connecting (signing in?) to sync UPLOADS data, that would suggest that in order to download data, you need to click the sync button no? So why did I have devices lose their settings when I didn't press the sync button? All I did was sign in, so it seems to me that signing is is the process by which you download settings, not upload. It seems clear to me that signing in (connecting?) to sync does NOT upload data, rather being signed in means you download data from the Sync server, while pressing the Sync button is what uploads.
I shouldn't have any conflicting/matching device names, but what matters most to me is just understanding how the feature works so that I know when I'm uploading, when I'm downloading, and what settings dictate what I am either uploading or downloading.
You can open about:sync-log via the location bar to check for recent Sync logs. You can temporarily toggle this pref to true to get always get a Sync log (success and failure) and check how Sync performs.
- about:config => services.sync.log.appender.file.logOnSuccess => true
Do not forget to reset services.sync.log.appender.file.logOnSuccess after you are done testing.
cor-el said
You can open about:sync-log via the location bar to check for recent Sync logs. You can temporarily toggle this pref to true to get always get a Sync log (success and failure) and check how Sync performs.Do not forget to reset services.sync.log.appender.file.logOnSuccess after you are done testing.
- about:config => services.sync.log.appender.file.logOnSuccess => true
I don't need that level of detail and most of it is gibberish to me. If I want to test how Sync performs, I can definitely do so without logs. That's no solution to the issue of lackluster documentation. If it's better to go the article Discussion pages for this can I definitely do so, but I'd also like to get a solution to my problem without needing to setting up temporary systems to figure out how Sync works on my own.