Closed Bug 1920702 Opened 1 year ago Closed 1 year ago

The "first Run" targeting criteria stopped working for mobile experiments and rollouts starting with Firefox 130.0 version

Categories

(Firefox for Android :: Experimentation and Telemetry, defect, P1)

Firefox 130
All
Android
defect

Tracking

()

VERIFIED FIXED
132 Branch
Tracking Status
firefox130 --- wontfix
firefox131 + verified
firefox132 + verified

People

(Reporter: cfat, Assigned: beth)

References

(Regression)

Details

(Keywords: regression)

Attachments

(2 files)

[Affected versions]:

  • Firefox Release 130.0
  • Firefox RC 131.0

[Affected Platforms]:

  • Android 13

[Prerequisites]:

[Steps to reproduce]:

  1. Install Firefox for Android version 130.
  2. Open Firefox and dismiss the Onboarding.
  3. Tap the Settings button and go to the “About Firefox” option.
  4. Tap the Firefox logo 5 times and return to the Settings menu.
  5. Tap the “Nimbus Experiments” option and select the Android default toolbar placement - Treatment A Rollout.
  6. Observe the rollout’s branch.

[Expected result]:

  • A checkmark is displayed next to the branch’s name.

[Actual result]:

  • The checkmark is NOT displayed next to the branch’s name, meaning the build is not enrolled in the rollout.

[Notes]:

Assignee: nobody → brennie
Status: NEW → ASSIGNED
Priority: -- → P1
Regressed by: 1898552

Bug 1898552 added the recorded context, which recorded the "isFirstRun" param
as a boolean. However, the recorded context is splatted into the targeting
attributes inside the Nimbus SDK 1 and overrides other targeting members,
which include isFirstRun: String and is_first_run: bool. This has resulted
in targeting evaluation that checks against isFirstRun == "'true'" failing,
causing first run experiments to not enroll correctly. Recording the value as
is_first_run instead, which is expected to be a boolean, addresses the issue.

See Also: → 1920793
Pushed by brennie@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/ac4bb55b2a14 Correctly record is_first_run as boolean r=chumphreys,android-reviewers,jonalmeida
Pushed by brennie@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c0d87b199f26 Correctly record is_first_run as boolean r=chumphreys,android-reviewers,jonalmeida
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 132 Branch
Flags: needinfo?(brennie)

The patch landed in nightly and beta is affected.
:beth, is this bug important enough to require an uplift?

  • If yes, please nominate the patch for beta approval.
  • If no, please set status-firefox131 to wontfix.

For more information, please visit BugBot documentation.

Flags: needinfo?(brennie)

I have verified this issue on latest Firefox Nightly 132.0a1 (Build 2016046778), hg-519a5ec62f8c+ GV: 132.0a1-20240926212653 AS: 132.20240925050359 on Android 13, Google Pixel 4 device.

  • In order to verify this issue, I used the following nimbus-cli command and can confirm that I got enrolled in the rollout that has the first Run flag set in the targeting criteria.

.\nimbus-cli.exe --app fenix --channel nightly enroll android-default-toolbar-placement-treatment-a-rollout --branch treatment-a --no-validate --preserve-targeting

Bug 1898552 added the recorded context, which recorded the "isFirstRun" param
as a boolean. However, the recorded context is splatted into the targeting
attributes inside the Nimbus SDK 1 and overrides other targeting members,
which include isFirstRun: String and is_first_run: bool. This has resulted
in targeting evaluation that checks against isFirstRun == "'true'" failing,
causing first run experiments to not enroll correctly. Recording the value as
is_first_run instead, which is expected to be a boolean, addresses the issue.

Original Revision: https://phabricator.services.mozilla.com/D223399

Attachment #9427778 - Flags: approval-mozilla-release?

release Uplift Approval Request

  • User impact if declined: Users will not be able to enroll in first run experiments on Android
  • Code covered by automated testing: yes
  • Fix verified in Nightly: yes
  • Needs manual QE test: no
  • Steps to reproduce for manual QE testing: Already QE-ed
  • Risk associated with taking this patch: Low
  • Explanation of risk level: Patch has been verified to fix the issue by QE. At worst it would just continue to prevent people from enrolling in first run experiments (ie no change)
  • String changes made/needed: None
  • Is Android affected?: yes
Flags: needinfo?(brennie)

Hi there - what can we do to get this into the 131 dot release? This bug is currently blocking our first run experimentation.

(edited- Sorry for the mistake!) This is being considered for the 131 mobile dot release which is slated to rollout next week.

See Also: → 1917640
Attachment #9427778 - Flags: approval-mozilla-release? → approval-mozilla-release+

I have verified this issue on the Android first Run recipes that are currently live:

The users are now correctly enrolled in the experiments and rollouts that have the first Run targeting criteria in their recipes.

Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: