Commit graph

390 commits

Author SHA1 Message Date
Michael Cooper
8dffd1552c Bug 1711206 - Apply Normandy startup preferences before Normandy migrations r=Gijs
This is a major change to the sequencing of Normandy's startup, since it now
applies startup preferences before the first async. This makes preference
changes happen synchronously during BrowserGlue's initialization phase. This
timing is something we have worked around frequently in the past.

This may affect some other features, but I believe they will all still work as
expected.  Future features will be easier to integrate with Normandy, since the
timing of this phase is more predictable now.

Differential Revision: https://phabricator.services.mozilla.com/D115716
2021-05-25 15:38:57 +00:00
Michael Cooper
17bed3c2b3 Bug 1711218 - Don't undo user pref changes when Normandy experiments end r=Gijs
When a user changes a preference involved in a Normandy experiment, we no
longer immediately end the experiment. This caused a problem because Normandy
didn't check for user changes when resetting prefereces at the end of an
experiment. As a result it would reset all preferences back to their original
values on the specified branch, even if that would mean changing a preference
it knows the user had modified.

This change causes Normandy to never reset the user branch of an experiment
preference that the user has changed. This is true even if the user changes the
preference away from the experimental value and then back to it.

Differential Revision: https://phabricator.services.mozilla.com/D115713
2021-05-24 15:36:16 +00:00
Michelle Goossens
16dd2093e1 Bug 1711497 - Remove browser.proton.enabled checks/setters from tests r=Gijs,marionette-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D115539
2021-05-20 13:03:51 +00:00
Michael Cooper
e5408e5a76 Bug 1711995 - Add http3 rollout information to Normandy graduation set r=dragana
Differential Revision: https://phabricator.services.mozilla.com/D115548
2021-05-19 23:50:01 +00:00
Kate Hudson
51b2badf01 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
92b0ab56f1 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
803852ff99 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
6099a1abdc 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
Michael Cooper
74cce16d19 Bug 1698684 - Leave users in Normandy experiments when prefs change r=Gijs
This reverses a decision that was made in the original design of Normandy's preference experiments. That decision was made assuming simple experiments that only change one preference.

Today, preferences are more complicated, have more interactions, and often change more than one preferences. Unenrolling users from experiments due to preferences changing causes bugs, unexpected experiences for users, and bad experiment outcomes.

This change will make Normandy act more in alignment with how experimenter owners and data analysts already treat it, improving the overall experience of the experiments program.

Differential Revision: https://phabricator.services.mozilla.com/D112070
2021-04-26 21:12:26 +00:00
Andrei Oprea
e83a5f8471 Bug 1704317 - about:studies page is blank: Uncaught TypeError: can't convert undefined to object r=k88hudson
Differential Revision: https://phabricator.services.mozilla.com/D112734
2021-04-21 10:34:07 +00:00
Andrei Oprea
a5faf63dd9 Bug 1692448 - about:studies doesn't load on session restore r=mythmon
Differential Revision: https://phabricator.services.mozilla.com/D110079
2021-04-19 11:59:12 +00:00
Mark Striemer
909ff1f4d9 Bug 1702330 - Graduate infobars to main proton pref r=jaws,marionette-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D110638
2021-04-10 19:56:10 +00:00
Dorel Luca
26ac39c8d5 Backed out 9 changesets (bug 1702330) for Mochitest failures in toolkit/components/url-classifier/tests/mochitest/test_reporturl.html. CLOSED TREE
Backed out changeset f84605e6fc8b (bug 1702330)
Backed out changeset 79c63bf11b29 (bug 1702330)
Backed out changeset 5425a2312f6e (bug 1702330)
Backed out changeset d76516e0d07d (bug 1702330)
Backed out changeset 3b75ffae171a (bug 1702330)
Backed out changeset 4bb6ceb6adb3 (bug 1702330)
Backed out changeset 607be325b4e8 (bug 1702330)
Backed out changeset 4b345ea924cc (bug 1702330)
Backed out changeset c7f0de372b21 (bug 1702330)
2021-04-10 07:48:08 +03:00
Mark Striemer
4119d385db Bug 1702330 - Graduate infobars to main proton pref r=jaws,marionette-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D110638
2021-04-10 00:30:39 +00:00
Dorel Luca
7c6d9844e5 Backed out 8 changesets (bug 1702330)for Browser-chrome failures in est/popups/browser_popup_blocker.js. CLOSED TREE
Backed out changeset b81511f8e157 (bug 1702330)
Backed out changeset 15f60f1d3f14 (bug 1702330)
Backed out changeset 809af1f94b4b (bug 1702330)
Backed out changeset 63cec3eadb4f (bug 1702330)
Backed out changeset b9964fb4dd70 (bug 1702330)
Backed out changeset 1e5ccb47056e (bug 1702330)
Backed out changeset 65faaeeb2339 (bug 1702330)
Backed out changeset e72fb8b52609 (bug 1702330)
2021-04-09 20:21:35 +03:00
Mark Striemer
71680c44e5 Bug 1702330 - Graduate infobars to main proton pref r=jaws,marionette-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D110638
2021-04-09 15:26:24 +00:00
Alexandru Michis
b40e464292 Backed out 5 changesets (bug 1702330) for causing failures in browser_aboutNewTab_defaultBrowserNotification.js
CLOSED TREE

Backed out changeset 365fd1bb6dde (bug 1702330)
Backed out changeset eba73c72be18 (bug 1702330)
Backed out changeset e1277c21543f (bug 1702330)
Backed out changeset 907e4fcda266 (bug 1702330)
Backed out changeset eb2a8569ed02 (bug 1702330)
2021-04-09 03:34:23 +03:00
Mark Striemer
0201d62878 Bug 1702330 - Graduate infobars to main proton pref r=jaws,marionette-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D110638
2021-04-08 22:25:04 +00:00
Mark Striemer
27ca0cb3ee Bug 1702201 - Fix Heartbeat infobar with proton enabled r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D110632
2021-04-06 04:26:36 +00:00
Kajal Sah
1113406969 Bug 1664259 - Corrects misspelled constant CAPABILITES_MISMATCH. r=emalysz
Differential Revision: https://phabricator.services.mozilla.com/D110494
2021-04-01 18:38:36 +00:00
Andrei Oprea
eebd53c51c Bug 1699761 - Keep backwards compatibility with old recipe types r=k88hudson
Differential Revision: https://phabricator.services.mozilla.com/D109878
2021-03-26 12:43:10 +00:00
Michael Cooper
3bd03dfa27 Bug 1695451 - Handle I/O Errors when loading Normandy preference experiments r=Gijs
When there is a failure to load the experiments store, Normandy now simply
resets the store back to an empty set which is generally a safe operation.
Being resilient to errors here is especially important now that about:support
shows data from Normandy. Errors in loading data for about:support can cause
the entire page to be blank, blocking critical support information.

This is a safe operation from a clients point of view because withouot this
information Normandy will assume that no clients should be enrolled. It may
take a restart, but eventually it will reset the client back to default if
there are I/O errors.

Differential Revision: https://phabricator.services.mozilla.com/D109562
2021-03-25 16:01:26 +00:00
Michael Cooper
4f268dd058 Bug 1699231 - Mark WebRender Normandy rollout as obsolete r=jrmuizel
Without this change, profiles that participated in the rollout that turned on WebRender for qualified Intel devices will continue to due extraneous work every start up to set the relevant preference, even though nothing is reading it. The information that the profile is active in the rollout also shows up in telemetry and about:support data unnecessarily.

Differential Revision: https://phabricator.services.mozilla.com/D108831
2021-03-23 15:07:51 +00:00
Tim Nguyen
4b8a2b71cf Bug 1698406 - Remove --in-content-box-background-{hover/active} variables. r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D108393
2021-03-16 16:33:00 +00:00
Michael Cooper
1b048f146e Bug 1693381 - Treat an empty Normandy recipe collection as an error r=Gijs
Normandy retrieves recipes from Remote Settings, and any recipes that are not
included in the collection are assumed to be disabled on the server. This is a
generally effective strategy, but it has a bad failure case. In certain
infrastructure failures, Remote Settings will report an entirely empty
collection to Normandy.

This patch changes Normandy so that an empty recipe collection is classified as
a temporary error. Instead of processing recipes as normal, it will wait some
time (currently seven days), expecting the problem to be resolved. This
provides a good balance between being robust to infrastructure problems while
also still eventually returning the system to a normal state if Normandy is
shut down without accounting for this behavior.

Differential Revision: https://phabricator.services.mozilla.com/D107932
2021-03-12 17:53:40 +00:00
Csoregi Natalia
cc7475d6f7 Backed out changeset ee955a416bce (bug 1693381) for failures on browser_actions_PreferenceExperimentAction.js. CLOSED TREE 2021-03-12 06:16:56 +02:00
Michael Cooper
8140e301d9 Bug 1693381 - Treat an empty Normandy recipe collection as an error r=Gijs
Normandy retrieves recipes from Remote Settings, and any recipes that are not
included in the collection are assumed to be disabled on the server. This is a
generally effective strategy, but it has a bad failure case. In certain
infrastructure failures, Remote Settings will report an entirely empty
collection to Normandy.

This patch changes Normandy so that an empty recipe collection is classified as
a temporary error. Instead of processing recipes as normal, it will wait some
time (currently seven days), expecting the problem to be resolved. This
provides a good balance between being robust to infrastructure problems while
also still eventually returning the system to a normal state if Normandy is
shut down without accounting for this behavior.

Differential Revision: https://phabricator.services.mozilla.com/D107932
2021-03-11 22:31:11 +00:00
Michael Cooper
85c0f73028 Bug 1696058 - Normandy should not attempt to unenroll experiments that have already been unenrolled. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D107106
2021-03-08 17:34:49 +00:00
Michael Cooper
5b085f6396 Bug 1693581 - Use named arguments instead for Normandy test decorators r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D106853
2021-03-08 17:34:48 +00:00
Michael Cooper
5ebe77b709 Bug 1689502 - Make all Normandy test decorators three layer decorators, for consistency r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D106852
2021-03-08 17:34:48 +00:00
Alexandru Michis
bb88003346 Backed out 3 changesets (bug 1693581, bug 1689502, bug 1696058) for causing bc failures in browser_Troubleshoot.js
CLOSED TREE

Backed out changeset 0e278d44bfac (bug 1696058)
Backed out changeset 3fe663d2b384 (bug 1693581)
Backed out changeset 38ba1cfafe7a (bug 1689502)
2021-03-05 02:42:26 +02:00
Michael Cooper
cc0e438e84 Bug 1696058 - Normandy should not attempt to unenroll experiments that have already been unenrolled. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D107106
2021-03-04 23:28:42 +00:00
Michael Cooper
822c216fb4 Bug 1693581 - Use named arguments instead for Normandy test decorators r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D106853
2021-03-04 23:28:42 +00:00
Michael Cooper
b7e0e940c5 Bug 1689502 - Make all Normandy test decorators three layer decorators, for consistency r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D106852
2021-03-04 23:28:41 +00:00
Kate Hudson
e05ab643bf Bug 1656568 - Use a specific event object for nimbus events r=andreio
Differential Revision: https://phabricator.services.mozilla.com/D106619
2021-03-03 19:54:52 +00:00
Kate Hudson
5ed61e3b12 Bug 1692230 - Move nimbus code to its own directory r=andreio
Differential Revision: https://phabricator.services.mozilla.com/D105567
2021-02-20 02:51:12 +00:00
Michael Cooper
1aaf619aea Bug 1693402 - Add telemetry to determine source of unenrollFailed events r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D105541
2021-02-19 21:48:21 +00:00
Michael Cooper
a1fa813296 Bug 1474397 - Show Normandy information in about:support r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D104910
2021-02-17 18:01:58 +00:00
Mark Banner
263d555274 Bug 1608272 - Remove 'this' as the second argument to 'ChromeUtils.import', use object destructuring instead (test-only changes). r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D104683
2021-02-11 22:02:15 +00:00
Michael Cooper
bedfe8bf76 Bug 1690052 - Wait until Normandy has updated default branch prefs before processing recipes r=Gijs
The 30 second delay and 3x max retries were chosen arbitrarily.

This avoids a potential race condition where the RecipeRunner is triggered before Normandy has fully initialized. When this happens, recipes can wrongly unenroll or graduate, causing many problems and confusing telemetry.

Differential Revision: https://phabricator.services.mozilla.com/D103704
2021-02-03 17:39:03 +00:00
Michael Cooper
e41395d88f Bug 1602912 - Add Normandy graduation set r=Gijs
Add a mechanism to indicate that specific Normandy rollouts no longer apply to
this version of Firefox. Normally this is handled by the preference specified
by the rollout changing their built-in values to match the rollout values.
However, this isn't always possible, such as if the preference is removed
instead of being switch to on by default, or if the preference cannot be
enabled by default for all users, but is conditionally enabled by another
feature.

Differential Revision: https://phabricator.services.mozilla.com/D102981
2021-01-29 00:28:05 +00:00
Michael Cooper
de66d3da23 Bug 1675388 - Record the pref changed to cause user-preference-changed unenrollment r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D98948
2020-12-08 14:25:58 +00:00
Michael Goossens
adff7e3a67 Bug 1649609 - Convert PreferenceExperiments.jsm to no longer use OS.Path r=emalysz,mythmon
Differential Revision: https://phabricator.services.mozilla.com/D96783
2020-11-13 21:37:03 +00:00
Ricky Stewart
02a7b4ebdf Bug 1654103: Standardize on Black for Python code in mozilla-central.
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-26 18:34:53 +00:00
Bogdan Tara
da1098d4aa Backed out 10 changesets (bug 1654103, bug 1672023, bug 1518999) for PanZoomControllerTest.touchEventForResult gv-junit failures CLOSED TREE
Backed out changeset ff3fb0b4a512 (bug 1672023)
Backed out changeset e7834b600201 (bug 1654103)
Backed out changeset 807893ca8069 (bug 1518999)
Backed out changeset 13e6b92440e9 (bug 1518999)
Backed out changeset 8b2ac5a6c98a (bug 1518999)
Backed out changeset 575748295752 (bug 1518999)
Backed out changeset 65f07ce7b39b (bug 1518999)
Backed out changeset 4bb80556158d (bug 1518999)
Backed out changeset 8ac8461d7bd7 (bug 1518999)
Backed out changeset e8ba13ee17f5 (bug 1518999)
2020-10-24 03:36:18 +03:00
Ricky Stewart
c0cea3b0fa Bug 1654103: Standardize on Black for Python code in mozilla-central. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.

5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-23 20:40:42 +00:00
Dorel Luca
1ff59cb7a3 Backed out changeset 7558c8821a07 (bug 1654103) for multiple failures. CLOSED TREE 2020-10-22 03:51:06 +03:00
Ricky Stewart
50762dacab Bug 1654103: Standardize on Black for Python code in mozilla-central. r=remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,devtools-backward-compat-reviewers,jgilbert,preferences-reviewers,sylvestre,maja_zf,webcompat-reviewers,denschub,ntim,whimboo,sparky
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.

To produce this patch I did all of the following:

1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.

2. Run ./mach lint --linter black --fix

3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.

4. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D94045
2020-10-21 21:27:27 +00:00
Jared Wein
5d182de8f6 Bug 1664065 - Remove Heartbeat specific styling since Firefox now shows notification bars in the same dimensions that Heartbeat wanted. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D89818
2020-09-11 23:48:02 +00:00
Joel Maher
2f2dc70492 Bug 1654553 - fix browser chrome tests to support Object.is instead of ==. r=gbrown,preferences-reviewers,Gijs,rpl
fix browser chrome tests to support Object.is instead of ==

Differential Revision: https://phabricator.services.mozilla.com/D84539
2020-07-27 17:02:35 +00:00