The "expPrefChanged" events are not sent when changing the experiment prefs after browser update
Categories
(Firefox :: Normandy Client, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox88 | --- | unaffected |
firefox89 | --- | unaffected |
firefox90 | --- | verified |
People
(Reporter: srosu, Assigned: mythmon)
References
Details
Attachments
(3 files)
[Affected versions]:
- Firefox Nightly 90.0a1 (Build ID: 20210513214800)
[Affected Platforms]:
- Windows 10 x64
- Linux Mint 20
- MacOS 11.2.3
[Prerequisites]:
- Have an older Firefox Nightly browser installed. (e.g. 89)
- Have a Normandy recipe for a single preference experiment set up and published.
- Have a Firefox profile that is enrolled in the experiment.
[Steps to reproduce]:
- Open the Firefox profile from prerequisites and update it. ("Hamburger menu" button>Help>About Firefox>"Restart to update" button)
- Navigate to the “about:config” page and confirm that you understand the consequences.
- Search for the experiment set prefs and change each experiment prefs to different values.
- Navigate to the about:telemetry#events-tab page and search for the "expPrefChanged" event.
[Expected result]:
- An "expPrefChanged" event was sent for every preference change.
[Actual result]:
- No "expPrefChanged" event is registered.
[Notes]:
- This issue is only reproducible with default branch-type preferences.
- Used the following stage recipe: 1388.
- Attached a screen recording of the issue and the “shield-preference-experiments.json” file.
Reporter | ||
Comment 1•4 years ago
|
||
Assignee | ||
Comment 2•4 years ago
|
||
Where in your steps do you change from version 89 to 90?
Assignee | ||
Comment 3•4 years ago
|
||
In the provided JSON, the preference is listed as being overridden. This sounds like Normandy correctly detected the change, and either didn't send the telemetry, or the telemetry wasn't in the expected place.
I think I saw the browser console in the recording, but it was entirely blank. I'd expect there to be some activity there, even if it wasn't Normandy-related. Had it not loaded yet? It is possible that Normandy is sending an error related to the format of the Telemetry ping.
Reporter | ||
Comment 4•4 years ago
|
||
Hi @Mythmont, for comment 2 the browser update is made in step 1, after you are enrolled in the study.
For comment 3 the browser console was entirely blank because I’ve tested this scenario using the “XPCSHELL_TEST_PROFILE_DIR=foo” variable. However, I’ve just retested this scenario without using the variable and I didn’t encounter any kind of errors in the browser console after the prefs changes.
Assignee | ||
Comment 5•4 years ago
|
||
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.
Updated•4 years ago
|
Comment 7•4 years ago
|
||
bugherder |
Reporter | ||
Comment 8•4 years ago
|
||
I have verified this issue using the latest Nightly 90.0a1 (Build ID: 20210526211756) on Windows 10 x64, Ubuntu 20.04 and macOS 11.2.3.
- The "expPrefChanged" events are sent when changing the experiment prefs after browser update.
Description
•