Enable Firefox Labs when Telemetry or Studies are Disabled
Categories
(Firefox :: Nimbus Desktop Client, enhancement, P3)
Tracking
()
People
(Reporter: beth, Assigned: beth)
References
(Blocks 1 open bug, Regressed 2 open bugs)
Details
Attachments
(6 external 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•1 year 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•1 year ago
|
| Assignee | ||
Comment 2•1 year 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•1 year ago
|
||
Both Firefox Labs and one of either studies or telemetry must now be
disabled to fully disable Nimbus.
| Assignee | ||
Comment 4•1 year ago
|
||
| Assignee | ||
Comment 5•1 year ago
|
||
Updated•1 year ago
|
Comment 8•1 year ago
•
|
||
Backed out for causing bc failures.
- Backout link
- Push with failures
- Failure Log bc failures
- Failure Log mochitest failures
| Assignee | ||
Updated•1 year ago
|
Updated•1 year ago
|
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Updated•1 year ago
|
Comment 10•1 year ago
|
||
Comment 11•1 year ago
|
||
Backed out for causing marionette failures @ test_no_errors_clean_profile.py
| Assignee | ||
Comment 12•1 year ago
|
||
| Assignee | ||
Updated•1 year ago
|
Comment 13•1 year ago
|
||
Comment 14•1 year ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/a9b317048a30
https://hg.mozilla.org/mozilla-central/rev/b43818080a5e
https://hg.mozilla.org/mozilla-central/rev/ca7925e6e415
https://hg.mozilla.org/mozilla-central/rev/65bd329624d3
https://hg.mozilla.org/mozilla-central/rev/733ee3e7e1b1
https://hg.mozilla.org/mozilla-central/rev/efb03dd2507e
Comment 15•1 year ago
|
||
:beth does this need a relnote for 146? Please nominate if so.
| Assignee | ||
Comment 16•1 year ago
•
|
||
Release Note Request (optional, but appreciated)
[Why is this notable]: Firefox Labs is now available to all users, regardless of whether or not they choose to participate in studies or submit telemetry. That means we have more features in the hands of more people.
[Affects Firefox for Android]: No
[Suggested wording]:
[Links (documentation, blog post, etc)]:
Comment 17•1 year ago
|
||
Added to Fx146 release notes
https://www.firefox.com/en-US/firefox/146.0a1/releasenotes/
Updated•1 year ago
|
Description
•