Граф коммитов

202 Коммитов

Автор SHA1 Сообщение Дата
Emily McMinn 15334e611e Bug 1915707 - Explicitly define userId and use it for branch allocation r=jlockhart,chumphreys
Differential Revision: https://phabricator.services.mozilla.com/D220626
2024-09-04 16:08:49 +00:00
Beth Rennie 97835863c5 Bug 1910429 - Support profile group ID randomization unit in Nimbus r=chumphreys
It is exposed as `group_id`.

Differential Revision: https://phabricator.services.mozilla.com/D218016
2024-07-31 17:24:47 +00:00
Beth Rennie 9eab3cf774 Bug 1910410 - prefFlips fail to unenroll when re-enrolling in rollouts r=chumphreys
Differential Revision: https://phabricator.services.mozilla.com/D217967
2024-07-29 17:20:04 +00:00
Beth Rennie a5f539c99d Bug 1907649 - Unenroll if prefFlips feature cannot set prefs r=chumphreys
If the prefFlips feature receives a configuration that conflicts with the local
pref store (e.g., a pref has a default branch value of one type and the feature
configuration contains that same pref with a value of a different type), then
the call to set the pref will throw. We now catch those errors and trigger
unenrollment with reason `prefFlips-failed`.

Differential Revision: https://phabricator.services.mozilla.com/D217502
2024-07-24 18:11:23 +00:00
Beth Rennie 84941b6328 Bug 1907968 - Disable Nimbus when Shield is disallowed by enterprise policy r=chumphreys
Differential Revision: https://phabricator.services.mozilla.com/D216601
2024-07-15 19:46:37 +00:00
Beth Rennie 26b40f4f47 Bug 1907436 - Cache initial pref values for prefFlips feature on the enrollment r=chumphreys
The prefFlips feature was not caching the original (pre-experiment) values for
the prefs it was setting anywhere that would survive a restart. We now store
these on the enrollment in the store under
`enrollment.prefFlips.originalValues`.  This storage is similar, but not
identical, to the `prefs` storage, which is used to cache information about
`setPref` experiments. That storage cannot be repurposed for this without
intertwining the Nimbus-owned setPref support and the prefFlips feature.

Differential Revision: https://phabricator.services.mozilla.com/D216445
2024-07-12 19:45:04 +00:00
Barret Rennie 07527d045b Bug 1896718 - Implement the prefFlips feature r=chumphreys
This patch implements the prefFlips feature that was added as a placeholder in
bug 1896720. The schema has been updated to fix a bug, as the accepted values
for the `branch` key were incorrect. Additionally, the schema now forbids pref
flips that would clear the default branch, as that is something we cannot do.

When a setPref experiment is currently enrolled and a prefFlips experiment
would enroll that touches the same prefs, the setPref experiment is unenrolled
and vice versa (i.e., the old experiment will always unenroll). This is an edge
case, as we do not expect this to happen in practice (since if a pref is
covered by a feature with setPref, the prefFlips feature probably shouldn't be
used to change it). Unenrollment telemetry has been updated to add a new
"prefFlips-conflict" reason for this case, which also includes the slug of the
experiment that caused unenrollment (as `conflictingSlug` / `conflicting_slug`
in legacy and Glean, respectively).

Differential Revision: https://phabricator.services.mozilla.com/D213506
2024-06-17 16:26:33 +00:00
Barret Rennie 4b7404f64b Bug 1896714 - Sync from nimbus-secure-experiments collection r=chumphreys
Differential Revision: https://phabricator.services.mozilla.com/D211587
2024-05-31 20:32:16 +00:00
Jan-Erik Rediger d23d51f602 Bug 1891745 - Update to Glean v60 and glean_parser v14 r=TravisLong,supply-chain-reviewers,mach-reviewers,android-reviewers,firefox-desktop-core-reviewers ,mconley,ahal,kaya
Differential Revision: https://phabricator.services.mozilla.com/D207869
2024-04-24 19:14:16 +00:00
Barret Rennie 4760f2a62a Bug 1887732 - Support JSON setPref variables in Nimbus r=chumphreys
There are isEarlyStartup features using JSON-typed variables, so we need to
setPref support for them.

Differential Revision: https://phabricator.services.mozilla.com/D205617
2024-04-04 13:44:27 +00:00
Magnus Melin 3529d46e94 Bug 1887331 - Fix test_search_config_v2_nimbus.js for Thunderbird. r=barret
Thunderbird doesn't have the STUDIES_OPT_OUT_PREF pref.

Differential Revision: https://phabricator.services.mozilla.com/D205514
2024-03-25 14:33:09 +00:00
Dave Townsend 0d866b2f8f Bug 1864896: Autofix unused function arguments (experiments). r=barret
Differential Revision: https://phabricator.services.mozilla.com/D202965
2024-03-01 18:28:34 +00:00
Iulian Moraru 97fd2dad96 Backed out 5 changesets (bug 1864896) for causing newtab failures related to bundles. CLOSED TREE
Backed out changeset 2cd1cc279f99 (bug 1864896)
Backed out changeset e48d6928bdcb (bug 1864896)
Backed out changeset 1abbcaf91693 (bug 1864896)
Backed out changeset 06a05e5257d5 (bug 1864896)
Backed out changeset b1955ae3e9e2 (bug 1864896)
2024-03-01 12:58:03 +02:00
Dave Townsend c9681ed1fb Bug 1864896: Autofix unused function arguments (experiments). r=barret
Differential Revision: https://phabricator.services.mozilla.com/D202965
2024-03-01 10:10:10 +00:00
Charlie d6d5ded8ec Bug 1817481 - define and record Nimbus enrollment_status metric and define Nimbus telemetry feature. r=barret
Differential Revision: https://phabricator.services.mozilla.com/D201642
2024-02-21 18:19:18 +00:00
Nick Alexander 987827d807 Bug 1868676 - Part 2: Include experiment configuration in targeting snapshot. r=barret,mpohle,application-update-reviewers,bytesized,TravisLong
This does 2 things:

1.  It includes the current experiment configuration in the targeting
snapshots written by browsing profiles.  This will allow to target
experiments in the background update task based on the experiments
that the default browsing profile is enrolled into.  Hopefully this
will avoid tricky `setPref` based coordination problems like the one
that caused Bug 1852093.

2.  It instruments the targeting snapshot experiment configuration
during the background update, using the Glean experiments API, and
thereby including it in all Glean pings (including `background-update`
pings).  Hopefully this will allow easier analysis; we've had a
difficult time joining background update tasks through to browsing
profiles in particular experiments, and this should co-locate the
required data, allowing to inspect only background update pings.

N.b.  `defineProperty` without `enumerable: true` means that
`Object.keys(...)` does not properly iterate the properties.
Presumably this was an oversight.

Differential Revision: https://phabricator.services.mozilla.com/D200125
2024-02-14 21:31:19 +00:00
Mike Conley 3e82da1fda Bug 1878731 - Convert ASRouterTargeting to an ESM. r=emcminn,application-update-reviewers,omc-reviewers,bytesized
Differential Revision: https://phabricator.services.mozilla.com/D201133
2024-02-12 18:49:37 +00:00
Mike Conley df75990c57 Bug 1868838 - Move ASRouterTargeting into browser/components/asrouter/modules. r=pdahiya,application-update-reviewers,barret,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D198873
2024-01-29 18:52:19 +00:00
Charlie cb639125ff Bug 1875510 - add nimbusIsReady feature and metric and record is_ready Glean events r=barret
Differential Revision: https://phabricator.services.mozilla.com/D199401
2024-01-23 22:11:42 +00:00
Barret Rennie 25e9bc2566 Bug 1875404 - Require branch for setPref variables r=chumphreys
The setPref variable annotation now requires both the pref to set and the
branch that should be used. Previously this was determined by the
isEarlyStartup feature annotation: true meant that prefs would be set on the
user branch and false meant that they would be set on the default branch. All
setPref annotations have been updated to stay consistent with that model.

Differential Revision: https://phabricator.services.mozilla.com/D199062
2024-01-22 18:12:51 +00:00
Charlie 9c1d13a6a6 Bug 1873547 - update updateRecipes to sort recipes by publishedDate. r=barret
Differential Revision: https://phabricator.services.mozilla.com/D197974
2024-01-10 18:55:22 +00:00
Mark Banner 8ce23e4908 Bug 1864821 - Replace PromiseUtils.defer() with Promise.withResolvers() in system modules. r=Gijs,perftest-reviewers,necko-reviewers,extension-reviewers,application-update-reviewers,fxview-reviewers,sync-reviewers,sessionstore-reviewers,reusable-components-reviewers,rpl,jesup,hjones,kshampur,skhamis,nalexander,sclements
Differential Revision: https://phabricator.services.mozilla.com/D197489
2024-01-05 09:22:34 +00:00
Charlie 9698d5baae Bug 1868196 - Add enrollment branches to Nimbus targeting context. r=barret
Differential Revision: https://phabricator.services.mozilla.com/D195458
2023-12-04 20:06:05 +00:00
Barret Rennie e6001051ab Bug 1866854 - Add currentDate to Nimbus targeting context r=emcminn
Differential Revision: https://phabricator.services.mozilla.com/D194796
2023-11-27 19:14:54 +00:00
Barret Rennie 34edaca9b9 Bug 1862258 - Remove enrollment_id from Normandy and Nimbus telemetry r=emcminn
Differential Revision: https://phabricator.services.mozilla.com/D193221
2023-11-13 18:13:24 +00:00
Jan Varga c458754592 Bug 1855134 - Move existing MOZ_TRY macros to a dedicated header file; r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D189226
2023-09-28 20:46:07 +00:00
Barret Rennie 8e2aefc4d6 Bug 1850127 - Handle setPref prefs which are nested r=emcminn
Pref observers registered for prefs like "foo" will also fire for pref changes
on "foo.bar", etc. If a feature registered nested prefs like these, then a
change to pref "foo.bar" would trigger the pref listener for "foo.bar" and
cause spurious unenrollments, especially when attempting to enroll in both an
experiment and rollout at the same time, and when trying to unenroll from an
experiment when also enrolled in a rollout.

Differential Revision: https://phabricator.services.mozilla.com/D187936
2023-09-12 18:30:22 +00:00
Gregory Pappas 3eac12bbd7 Bug 1845311 - Use ChromeUtils.defineLazyGetter in more places r=arai,webdriver-reviewers,geckoview-reviewers,extension-reviewers,application-update-reviewers,credential-management-reviewers,devtools-reviewers,fxview-reviewers,anti-tracking-reviewers,sessionstore-reviewers,pbz,joschmidt,robwu,issammani,bytesized,owlish,dao
Differential Revision: https://phabricator.services.mozilla.com/D184481
2023-07-26 16:28:11 +00:00
Barret Rennie 68a11ce621 Bug 1843126 - Report prefs that cause experiment unenrollment r=emcminn
Differential Revision: https://phabricator.services.mozilla.com/D183527
2023-07-14 18:06:16 +00:00
Barret Rennie a1721fd187 Bug 1840436 - Add targeting for all enrollments, past and present r=emcminn
Differential Revision: https://phabricator.services.mozilla.com/D182096
2023-06-26 21:56:12 +00:00
Barret Rennie 4df00473f3 Bug 1839674 - Add targeting for previous experiments and rollouts r=emcminn
Differential Revision: https://phabricator.services.mozilla.com/D181679
2023-06-22 18:59:29 +00:00
Barret Rennie 858e5c3440 Bug 1736587 - Optionally apply targeting when opting in to experiments r=emcminn
Differential Revision: https://phabricator.services.mozilla.com/D180398
2023-06-15 01:47:21 +00:00
Barret Rennie f3cc3a188e Bug 1836502 - Do not re-enroll in rollouts users opt-out of r=emcminn
Differential Revision: https://phabricator.services.mozilla.com/D179828
2023-06-02 16:22:02 +00:00
Barret Rennie 8299056c4e Bug 1833248 - Allow re-enrollment in rollouts r=jlockhart,emcminn
While here, the assertEmptyStore and cleanupStore functions from
test_ExperimentManager_prefs.js were refactored into a function in head.js so
that it could be used in the test suite to cleanup for leaky tests.

Differential Revision: https://phabricator.services.mozilla.com/D178111
2023-05-24 23:44:00 +00:00
Mark Banner 130a655906 Bug 1826062 - Automatic fixes for upgrading Prettier to 2.8.8. r=mossop,perftest-reviewers,webcompat-reviewers,geckoview-reviewers,denschub,devtools-reviewers,sparky,calu
Differential Revision: https://phabricator.services.mozilla.com/D177027
2023-05-20 12:26:53 +00:00
Mark Banner 8219a5c503 Bug 1826062 - Automatic fixes for Prettier 2.0.5 upgrade. r=mossop,perftest-reviewers,webcompat-reviewers,geckoview-reviewers,denschub,devtools-reviewers,sparky,owlish
Differential Revision: https://phabricator.services.mozilla.com/D177025
2023-05-20 12:26:49 +00:00
Ed Lee a2317d1a26 Bug 1831653 - Handle more experiment recipes for generateTestIds r=emcminn,barret
Allow 100% enrollment and recipes that have bucketConfig object.

Differential Revision: https://phabricator.services.mozilla.com/D177307
2023-05-08 19:37:16 +00:00
Barret Rennie 7f81c41ee5 Bug 1829014 - Re-evaluate bucketing when updating rollouts r=emcminn
Differential Revision: https://phabricator.services.mozilla.com/D176177
2023-04-25 16:42:16 +00:00
Mathew Hodson cab6cd3a99 Bug 1828563 - Update consumers to use FeatureManifest ESM. r=barret
Differential Revision: https://phabricator.services.mozilla.com/D175725
2023-04-24 09:54:19 +00:00
Mathew Hodson 64cbc8d1e6 Bug 1824906 - Update consumers to use normandy ESM. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D175026
2023-04-16 18:01:55 +00:00
Barret Rennie d5dadc251e Bug 1827928 - Add localizations field to NimbusEnrollment schema r=emcminn
Differential Revision: https://phabricator.services.mozilla.com/D175369
2023-04-13 19:01:06 +00:00
Barret Rennie 9e7a3e3d83 Bug 1821092 - Enroll in localized Nimbus experiments r=aminomancer
Differential Revision: https://phabricator.services.mozilla.com/D174708
2023-04-11 16:20:48 +00:00
Barret Rennie f6705159eb Bug 1821092 - Implment localization substitution for Nimbus Experiments r=aminomancer,credential-management-reviewers,sgalich
Differential Revision: https://phabricator.services.mozilla.com/D174549
2023-04-11 16:20:48 +00:00
Noemi Erli f91604fab5 Backed out 3 changesets (bug 1821092) for causing failures in browser_autocomplete_import.js CLOSED TREE
Backed out changeset 142e58fc3ee1 (bug 1821092)
Backed out changeset ff07a826e81d (bug 1821092)
Backed out changeset b70d97b262ed (bug 1821092)
2023-04-06 04:09:51 +03:00
Barret Rennie cfe2413562 Bug 1821092 - Enroll in localized Nimbus experiments r=aminomancer
Differential Revision: https://phabricator.services.mozilla.com/D174708
2023-04-05 23:44:38 +00:00
Barret Rennie af6c007c68 Bug 1821092 - Implment localization substitution for Nimbus Experiments r=aminomancer
Differential Revision: https://phabricator.services.mozilla.com/D174549
2023-04-05 23:44:37 +00:00
Barret Rennie a85bf46599 Bug 1788954 - Convert toolkit/components/nimbus to ES modules r=Standard8,pip-reviewers,credential-management-reviewers,sgalich
Differential Revision: https://phabricator.services.mozilla.com/D172850
2023-03-30 20:51:58 +00:00
Stephanie Cunnane a67994520d Bug 1823278 - Update consumers of toolkit/components/utils to import ES modules directly. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D172950
2023-03-22 02:02:51 +00:00
Barret Rennie f004218156 Bug 1818738 - Make the feature update event API more ergonomic r=aminomancer,settings-reviewers,search-reviewers,Gijs,daleharvey
Differential Revision: https://phabricator.services.mozilla.com/D172035
2023-03-16 22:20:14 +00:00
Abhishek Tiwari d0b9714f92 Bug 1821624 - Convert toolkit/components/messaging-system to ES modules r=Standard8,fxview-reviewers,omc-reviewers,aminomancer,sclements
Differential Revision: https://phabricator.services.mozilla.com/D172406
2023-03-15 18:44:02 +00:00