Commit Graph

62 Commits

Author SHA1 Message Date
Barret Rennie
edef31f33b Bug 1791163 - Allow additional variables when validating features that are variables-only r=jlockhart
Differential Revision: https://phabricator.services.mozilla.com/D157736
2022-09-20 17:06:33 +00:00
Nick Alexander
7e987a7e1b Bug 1784117 - Lift default profile targeting to Nimbus in background tasks. r=barret
This was oversight.  In background tasks, I took some care to provide
the snapshot of the default profile's targeting state to the Firefox
Messaging System, but it also needs to be provided to Nimbus to filter
experiments directly.

For expedience, I provide an extra targeting context object to
`ExperimentManager.onStartup`.

The targeting contexts for Nimbus proper and Firefox Messaging System
are somewhat independent; that's why the triggering context remains in
the invocation of `sendTriggerMessage`.

Depends on D154308

Differential Revision: https://phabricator.services.mozilla.com/D154309
2022-08-11 17:39:53 +00:00
Barret Rennie
d8aa23c948 Bug 1782136 - Filter Nimbus recipes based on app ID r=emcminn,nalexander
Nimbus features can now specify a list of applications they support (defaulting
to firefox-desktop). Enrollment for a given recipe will only occur if the
application supports all the features listed in the experiment. This allows
Firefox Desktop and the background task service to have different sets of
features, which prevents Firefox from enrolling in backgroundTaskMessage
experiments and the background task service from enrolling in experiments
intended for Firefox Desktop.

Differential Revision: https://phabricator.services.mozilla.com/D153119
2022-08-04 21:43:15 +00:00
Barret Rennie
d1c621903b Bug 1780088 - Disable experiment schema validation with a pref r=emcminn
In the event that we ship schemas that fail validation unexpectedly, this gives
a remote kill switch via a Normandy pref rollout.

Differential Revision: https://phabricator.services.mozilla.com/D152342
2022-07-22 02:59:18 +00:00
Iulian Moraru
df431be6b8 Backed out 3 changesets (bug 1780074, bug 1780347) for causing multiple failures. CLOSED TREE
Backed out changeset ee4c4d34816c (bug 1780347)
Backed out changeset a13d3939b98a (bug 1780074)
Backed out changeset 3bc739f7de43 (bug 1780074)
2022-07-20 14:57:48 +03:00
Mark Banner
9e59e52e55 Bug 1780074 - Migrate newtab consumers to use ESM imports directly. r=daleharvey,application-update-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D152114
2022-07-20 10:36:52 +00:00
Barret Rennie
c3996c0733 Bug 1762652 - Add detailed telemetry around schema validation in Nimbus r=TravisLong
Differential Revision: https://phabricator.services.mozilla.com/D151195
2022-07-19 21:58:50 +00:00
Iulian Moraru
3df8b4fb3f Backed out changeset 033d8825f710 (bug 1762652) for causing multiple failures. CLOSED TREE 2022-07-12 22:21:40 +03:00
Barret Rennie
113ebeaf53 Bug 1762652 - Add detailed telemetry around schema validation in Nimbus r=TravisLong
Differential Revision: https://phabricator.services.mozilla.com/D151195
2022-07-12 17:43:27 +00:00
Tooru Fujisawa
328d63ce7f Bug 1777486 - Part 2: Migrate XPCOMUtils.jsm consumers with automatic migration. r=webdriver-reviewers,geckoview-reviewers,preferences-reviewers,application-update-reviewers,pip-reviewers,kmag,owlish,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D151214
2022-07-12 04:21:34 +00:00
Barret Rennie
28ad63258d Bug 1743570 - Always validate schemas in RemoteSettingsExperimentLoader r=emcminn
Differential Revision: https://phabricator.services.mozilla.com/D150692
2022-07-12 02:32:43 +00:00
Andreea Pavel
f009ba2983 Backed out 11 changesets (Bug 1777486) for failing bc at browser_startup.js on a CLOSED TREE
Backed out changeset b6c4c386f1a6 (Bug 1777486)
Backed out changeset 195cc2de8433 (Bug 1777486)
Backed out changeset 20c746fb1648 (Bug 1777486)
Backed out changeset d5fd8173d62d (Bug 1777486)
Backed out changeset 6d758fab5a3e (Bug 1777486)
Backed out changeset e938b601ba15 (Bug 1777486)
Backed out changeset 0c4ea0b9416b (Bug 1777486)
Backed out changeset 0559c53cc668 (Bug 1777486)
Backed out changeset eea573d3a9f9 (Bug 1777486)
Backed out changeset 9ce3a6496a49 (bug 1777486)
Backed out changeset b0867652fc48 (bug 1777486)
2022-07-11 22:24:40 +03:00
Tooru Fujisawa
bf0a8b781b Bug 1777486 - Part 2: Migrate XPCOMUtils.jsm consumers with automatic migration. r=webdriver-reviewers,geckoview-reviewers,preferences-reviewers,application-update-reviewers,pip-reviewers,kmag,owlish,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D151214
2022-07-11 15:09:13 +00:00
Tooru Fujisawa
b10d0289af Bug 1667455 - Part 4: Stop importing Services.jsm from JSM. r=kmag,webdriver-reviewers,perftest-reviewers,webcompat-reviewers,geckoview-reviewers,application-update-reviewers,pip-reviewers,twisniewski,devtools-reviewers,m_kato,jdescottes,ochameau,mconley,sfoster,AlexandruIonescu
Differential Revision: https://phabricator.services.mozilla.com/D150893
2022-07-11 12:41:50 +00:00
Mathieu Leplatre
d350d35614 Bug 1772136 - Add option to throw if .get() fails to obtain records r=gbeckley,barret
Differential Revision: https://phabricator.services.mozilla.com/D148637
2022-07-06 07:31:29 +00:00
Barret Rennie
98d08be0a0 Bug 1774022 - Validate features described with FML variables more strictly r=TravisLong
Experimenter now performs the following additional validations:

- FML `int` field types are mapped to `integer` and not `number`; and
- `additionalProperties` is now false;


We now perform the same validation.

Differential Revision: https://phabricator.services.mozilla.com/D149146
2022-06-23 23:44:30 +00:00
criss
1de8f2e94c Backed out changeset e8d5e21007be (bug 1774022) for causing Xpcshell failures on test_RemoteSettingsExperimentLoader_updateRecipes.js. CLOSED TREE 2022-06-21 22:59:14 +03:00
Barret Rennie
ed46037a26 Bug 1774022 - Validate features described with FML variables more strictly r=TravisLong
Experimenter now performs the following additional validations:

- FML `int` field types are mapped to `integer` and not `number`; and
- `additionalProperties` is now false;


We now perform the same validation.

Differential Revision: https://phabricator.services.mozilla.com/D149146
2022-06-21 19:20:43 +00:00
Barret Rennie
e09c453de1 Bug 1746458 - Unenroll from Nimbus experiments and rollouts when disabling telemetry r=emcminn,preferences-reviewers
The telemetry pref (datareporting.healthreport.uploadEnabled) is now required
to be set to enroll in telemetry and if it becomes unset, users will be
unenrolled from all Nimbus experiments and rollouts.

Differential Revision: https://phabricator.services.mozilla.com/D149297
2022-06-20 15:29:14 +00:00
Tooru Fujisawa
62aa93946a Bug 1608282 - Part 4: Remove Cu.defineLazyGlobalGetters from JSM. r=webdriver-reviewers,extension-reviewers,jdescottes,kmag
Depends on D149196

Differential Revision: https://phabricator.services.mozilla.com/D149197
2022-06-16 00:19:54 +00:00
Butkovits Atila
0642580e74 Backed out 4 changesets (bug 1608282) for causing hazard failures. CLOSED TREE
Backed out changeset 32aebc8be201 (bug 1608282)
Backed out changeset 37c970364269 (bug 1608282)
Backed out changeset ced8d82cc2d2 (bug 1608282)
Backed out changeset e26e480c7dd6 (bug 1608282)
2022-06-16 03:10:02 +03:00
Tooru Fujisawa
b3d40a272f Bug 1608282 - Part 4: Remove Cu.defineLazyGlobalGetters from JSM. r=webdriver-reviewers,extension-reviewers,jdescottes,kmag
Depends on D149196

Differential Revision: https://phabricator.services.mozilla.com/D149197
2022-06-15 20:34:35 +00:00
Marian-Vasile Laza
8d440e3660 Backed out changeset ca25e8c2894f (bug 1774022) for causing bc failutes on browser_remotesettingsexperimentloader_remote_defaults.js. CLOSED TREE 2022-06-13 22:49:02 +03:00
Tooru Fujisawa
761f6bcf68 Bug 1772101 - Part 23: Use plain object for lazy getter in toolkit/components/nimbus/. r=emcminn
Differential Revision: https://phabricator.services.mozilla.com/D147964
2022-06-13 19:38:29 +00:00
Barret Rennie
1070c50cd1 Bug 1774022 - Validate features described with FML variables more strictly r=TravisLong
Experimenter now performs the following additional validations:

- FML `int` field types are mapped to `integer` and not `number`;
- `additionalProperties` is now false; and
- All fields are marked as `required`.

We now perform the same validation.

Differential Revision: https://phabricator.services.mozilla.com/D149146
2022-06-13 18:49:44 +00:00
Cristian Tuns
e5ed3346ac Backed out changeset 52e93ae7582d (bug 1774022) for causing xpcshell failures on test_RemoteSettingsExperimentLoader.js CLOSED TREE 2022-06-13 12:18:39 -04:00
Barret Rennie
7110a63e4c Bug 1774022 - Validate FML int fields as JSONSchema int fields r=TravisLong
Differential Revision: https://phabricator.services.mozilla.com/D149146
2022-06-13 15:51:30 +00:00
Barret Rennie
dbc15cde24 Bug 1766092 - Provide URIs and paths to feature schemas r=emcminn
Differential Revision: https://phabricator.services.mozilla.com/D144505
2022-04-25 18:34:03 +00:00
Barret Rennie
beb6bd1845 Bug 1762495 - Expose JsonSchema object from JsonSchema.jsm r=emcminn
Differential Revision: https://phabricator.services.mozilla.com/D142874
2022-04-06 17:07:34 +00:00
Barret Rennie
2160cfe2a5 Bug 1762947 - Validate all branches when using variables-only features r=emcminn
Differential Revision: https://phabricator.services.mozilla.com/D142863
2022-04-04 18:26:03 +00:00
Barret Rennie
ace0a315bf Bug 1761105 - Validate Nimbus features using variables instead of schemas r=emcminn
Not all features are complicated enough to require full on JSON schema to
describe their variables. For these simpler features, we generate (a lax) JSON
schema based on the contents of their `variables` field to validate them. This
way we can re-use the existing validation mechanism and do not have to write a
bespoke validator.

The schema generated is intended to be compatible with the one generated by
Experimenter.

Differential Revision: https://phabricator.services.mozilla.com/D141892
2022-03-28 16:14:05 +00:00
Barret Rennie
8bdc00cfed Bug 1757611 - Report invalid branch and invalid recipe as reasons for unenrollment r=emcminn
Differential Revision: https://phabricator.services.mozilla.com/D139974
2022-03-25 00:01:22 +00:00
Barret Rennie
48e7fe21b4 Bug 1755610 - Validate nimbus experiments via JSON schema r=andreio
Differential Revision: https://phabricator.services.mozilla.com/D138930
2022-03-25 00:01:21 +00:00
Barret Rennie
6e0406c0f8 Bug 1752665 - Validate experiment features where we have schemas r=andreio
A test that tested featureless experiments has been removed, as the experiment
schema dictates that one of `feature` or `features` is required.

Tests have been updated to match the in-tree schema, as they previously did not
validate.

Differential Revision: https://phabricator.services.mozilla.com/D138928
2022-03-25 00:01:21 +00:00
Andrei Oprea
79b5bb3d6b Bug 1738286 - New schema and enrollment flow for rollouts r=k88hudson
Differential Revision: https://phabricator.services.mozilla.com/D129835
2021-12-09 17:58:18 +00:00
Andrei Oprea
2ca58a7034 Bug 1732914 - Add new unenrollment reason when targeting is no longer satisfied r=k88hudson
Differential Revision: https://phabricator.services.mozilla.com/D128716
2021-10-20 17:09:45 +00:00
Andrei Oprea
28d88d09f4 Bug 1732724 - Report targeting expression source in the case of undesired events r=k88hudson
Differential Revision: https://phabricator.services.mozilla.com/D126776
2021-10-07 19:45:17 +00:00
Alexandru Michis
7b49cf4e2e Backed out changeset 5d92bd37605f (bug 1732724) for causing xpcshell failures in test_targeting.js
CLOSED TREE
2021-10-07 21:16:39 +03:00
Andrei Oprea
67bd2df2f9 Bug 1732724 - Report targeting expression source in the case of undesired events r=k88hudson
Differential Revision: https://phabricator.services.mozilla.com/D126776
2021-10-07 17:10:27 +00:00
Butkovits Atila
ca081ef18a Backed out changeset bbea0c20d7fe (bug 1732724) for causing Xpcshell failures at test_targeting.js. CLOSED TREE 2021-10-07 19:29:34 +03:00
Andrei Oprea
44e77f3182 Bug 1732724 - Report targeting expression source in the case of undesired events r=k88hudson
Differential Revision: https://phabricator.services.mozilla.com/D126776
2021-10-07 15:31:29 +00:00
Butkovits Atila
ab55bbe571 Backed out changeset 35d10fc51b62 (bug 1732724) for causing failures at test_targeting.js. CLOSED TREE 2021-10-07 17:17:15 +03:00
Andrei Oprea
3b9f764fb8 Bug 1732724 - Report targeting expression source in the case of undesired events r=k88hudson
Differential Revision: https://phabricator.services.mozilla.com/D126776
2021-10-07 12:42:10 +00:00
Andrei Oprea
9543a89394 Bug 1731559 - Nimbus targeting eval should return null instead of bool in case of error r=k88hudson
Differential Revision: https://phabricator.services.mozilla.com/D126219
2021-09-23 16:49:44 +00:00
Andrei Oprea
6c1323701f Bug 1701033 - Make bucketing separate for Nimbus remote defaults r=k88hudson
Differential Revision: https://phabricator.services.mozilla.com/D117013
2021-06-24 09:56:13 +00:00
Andrei Oprea
62a4eac449 Bug 1709360 - Turn off timer syncing for updating Nimbus experiments r=k88hudson
Differential Revision: https://phabricator.services.mozilla.com/D114466
2021-05-12 09:20:07 +00:00
Kate Hudson
3217208892 Bug 1710227 - Show UI feedback on about:studies for opt-in r=andreio
Differential Revision: https://phabricator.services.mozilla.com/D114754
2021-05-11 21:47:57 +00:00
Andrei Oprea
3d015283dc Bug 1707901 - Add opt in to nimbus experiments via URL r=k88hudson
Differential Revision: https://phabricator.services.mozilla.com/D113641
2021-05-05 08:58:56 +00:00
Dorel Luca
e42f4087b3 Backed out changeset 31a188caa6dd (bug 1707901) for toolkit/components/normandy/test/browser/browser_about_studies.js. CLOSED TREE 2021-05-05 02:07:29 +03:00
Andrei Oprea
21788450ca Bug 1707901 - Add opt in to nimbus experiments via URL r=k88hudson
Differential Revision: https://phabricator.services.mozilla.com/D113641
2021-05-04 22:33:02 +00:00