Open Bug 1580071 (sync-data-choices) Opened 5 years ago Updated 2 years ago

[meta] Improve handling of sync data choices

Categories

(Firefox :: Firefox Accounts, enhancement)

enhancement

Tracking

()

People

(Reporter: rfkelly, Unassigned)

References

(Depends on 2 open bugs)

Details

(Keywords: meta)

I'm pulling out various choose-what-to-sync-related work items from Bug 1570565 in order to keep the scope of that epic manageable for Firefox 71.

There are some known rough edges around our "choose what to sync" experience. The intention is that we always get explicit opt-in from the user before we start syncing a particular data-type (like history, bookmarks, etc) up to the cloud. But in practice there are a variety of cases where we might do something different to what the user expects:

  • We currently show an interstitial "choose what to sync" screen when the user signs up for a new account when they're setting up sync. If they already have an account but have not previously set up sync, we don't ask them to make an explicit choice about what datatypes to sync, instead giving them a default set of choices (Bug 1572344).
  • After a node-reassignment or password reset, the first device to Sync is responsible for re-uploading the user's sync data choices. If that happens to be a device that has not previously been connected to sync, it may upload a default set of choices, which other devices may then treat as authoritative.
  • When the user adds a device that supports a new datatype (e.g. creditcards) we don't have a way to prompt the user to make a choice about syncing that datatype. We either don't sync it until the user goes into sync prefs and deliberately enables it, or we start syncing it automatically, neither of which are good options.

Mark, do you have other CWTS-related-things on your mind that we should capture here?

Flags: needinfo?(markh)
Alias: sync-data-choices

While this is everything, there are some upcoming subtleties that fit into these categories but probably worth explicitly calling out:

  • ... If they already have an account but have not previously set up sync, we don't ask them to make an explicit choice about what datatypes to sync, instead giving them a default set of choices (Bug 1572344).

This will become far more common with the decoupling work.

  • When the user adds a device that supports a new datatype (e.g. creditcards) we don't have a way to prompt the user to make a choice about syncing that datatype. We either don't sync it until the user goes into sync prefs and deliberately enables it, or we start syncing it automatically, neither of which are good options.

I expect this to become far more common as Fenix gets account creation capabilities, but before it supports every engine desktop does - Fenix will (presumably) only have offered the engines it supports, so a user later signing in on Desktop will hit this, and without changes to Desktop we will start syncing these new engines without having asked.

Flags: needinfo?(markh)
Depends on: 1479929
Depends on: 1614349

Bug 1678957 comment 12 describes a scenario where the declined engines got out of sync from the enabled prefs, causing engines to sync even though it thinks it is declined, and then reset and fully sync. We should ensure that scenario isn't possible when we get to this.

See Also: → 1678957
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.