Unverified Commit c577a467 authored by Beth Rennie's avatar Beth Rennie Committed by GitHub
Browse files

Bug 2045100 - Do not apply pending experiments after toggling...

Bug 2045100 - Do not apply pending experiments after toggling experiment/rollout participation (#7401)

Changing experiment or rollout participation already triggers an
evolution based on the current set of cached experiments. Calling
`applyLocalExperimentsOnThisThread()` does a second evolution, with the
set of pending experiments.

Additionally, these properties were calling
`nimbusClient.set{Experiment,Rollout}Participation` instead of the
Kotlin-based helpers `set{Experiment,Rollout}ParticipationOnThisThread`
which are responsible for submitting telemetry. This has been corrected.
parent 3f8f06ae
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@
- Fixed a bug where enrollment change events were not emitted for rollouts that re-enrolled after previously unenrolling. ([#7391](https://github.com/mozilla/application-services/pull/7391/))
- Attempting to opt-out from an experiment that is not currently enrolled is now a no-op. ([#7399](https://github.com/mozilla/application-services/pull/7399))
- There are new separate DisqualifiedReason and NotEnrolledReason for global (experiment and rollout) opt-outs. ([#7400](https://github.com/mozilla/application-services/pull/7400))
- Changing experiment and/or rollout participation no longer triggers a double update. Enrollment change telemetry is now appropriately triggered when this occurs. ([#7401](https://github.com/mozilla/application-services/pull/7401))

[Full Changelog](In progress)

+0 −2
Original line number Diff line number Diff line
@@ -166,7 +166,6 @@ open class Nimbus(
        set(active) {
            dbScope.launch {
                setExperimentParticipationOnThisThread(active)
                applyPendingExperimentsOnThisThread()
            }
        }

@@ -175,7 +174,6 @@ open class Nimbus(
        set(active) {
            dbScope.launch {
                setRolloutParticipationOnThisThread(active)
                applyPendingExperimentsOnThisThread()
            }
        }