Enable Firefox Labs when Telemetry or Studies are Disabled
Categories
(Firefox :: Nimbus Desktop Client, enhancement, P3)
Tracking
()
People
(Reporter: beth, Assigned: beth, NeedInfo)
References
(Blocks 1 open bug)
Details
Attachments
(5 files)
In bug 1937147 we ported Firefox Labs to be powered by Nimbus, our A/B testing and feature delivery platform, which (as its configured) requires both telemetry and studies to be enabled in order to function. Nimbus was originally designed to be an A/B test platform and so it made sense at the time that if telemetry was disabled that Nimbus should be disabled because there if you need to collect data in order to do quantatative experimentation. However, as Nimbus has grown into more of a feature delivery platform, it no longer makes sense to gate everything behind having telemetry or even studies enabled. We should add a new preference toggle that enables/disables Firefox Labs and update the Nimbus logic as follows:
- Telemetry disabled -> Experiments and rollouts are disabled except for Firefox Labs opt-ins(i.e., when
recipe.isFirefoxLabsOptIn = true) - Studies disabled -> Experiments and rollouts are disabled EXCEPT for Firefox Labs opt-ins (i.e., when
recipe.isFirefoxLabsOptIn = true) - Firefox Labs disabled -> Firefox Labs is disabled and experiments and rollouts work as normal
To implement this, we need to:
- Add a new pref to enable/disable Firefox Labs;
- Expose said pref on the Firefox Labs page;
- Update the Firefox labs page to not be hidden if there are no studies. Instead, it should say there are no available opt-ins / Firefox Labs is disabled;
- Update
ExperimentManager._handleStudiesOptOutto exclude Firefox Labs opt-ins (unless they are also disabled); - Update
RemoteSettingsExperimentLoader.onEnabledPrefChangedto disable the itself if both Firefox Labs and either studies or telemetry is disabled; - Add new
MatchStatusentries for studies being disabled and Firefox Labs being disabled; - Update
EnrollmentsContext.checkRecipeto add additional checks for:- Firefox Labs being disabled if the recipe is a Firefox Labs Opt-In
- Studies/telemetry being disabled if the recipe is a traditional experiment/rollout
| Assignee | ||
Comment 1•5 days ago
|
||
We do not want users to confuse these opt-ins with regular studies,
especially when studies are disabled, as that may lead them to believe
that we are running studies without their consent.
Updated•5 days ago
|
| Assignee | ||
Comment 2•5 days ago
|
||
We have been accruing internal state inside ExperimentAPI.sys.mjs that
we do not want to expose as mutable to outside of the module. That state
is now bundled into the ExperimentAPI object itself as private
elements.
| Assignee | ||
Comment 3•5 days ago
|
||
Both Firefox Labs and one of either studies or telemetry must now be
disabled to fully disable Nimbus.
| Assignee | ||
Comment 4•5 days ago
|
||
| Assignee | ||
Comment 5•5 days ago
|
||
Updated•5 days ago
|
Backed out for causing bc failures.
- Backout link
- Push with failures
- Failure Log bc failures
- Failure Log mochitest failures
Description
•