Change the ExperimentsService to get the current value of the preferences (since it only uses them once or twice), so that they match the values in Experiments, and avoid differences causing promises to be rejected in the updateManifest call.
Also fix Experiments to correctly re-enable itself when toolkit.telemetry.enabled is changed from false to true (also fixes bug 1232648).
Finally, add a catch for a promise when calling updateManifest so that we don't get an uncaught promise exception.
MozReview-Commit-ID: GD6gfcRSgbx
--HG--
extra : rebase_source : a5045275c2f864b75443c2cb8fc531ea0e84a704
Change the ExperimentsService to get the current value of the preferences (since it only uses them once or twice), so that they match the values in Experiments, and avoid differences causing promises to be rejected in the updateManifest call.
Also fix Experiments to correctly re-enable itself when toolkit.telemetry.enabled is changed from false to true (also fixes bug 1232648).
Finally, add a catch for a promise when calling updateManifest so that we don't get an uncaught promise exception.
MozReview-Commit-ID: GD6gfcRSgbx
--HG--
extra : rebase_source : 44226ad68bc0bc8b9b763016ea54ca022bfcbcf9
To sync experiment state with the addon manager, we need to start it early when there is a
active experiment.
However, initializing the telemetry experiments system too early can lead to performance
regressions, so we delay the initialization if we don't have an active experiment.