Closed Bug 1767266 Opened 3 years ago Closed 3 years ago

[Experiment] A validation error is displayed in the "Browser Console" when trying to enroll in the "pref-flip-staged-rollout-total-cookie-protection-by-default" experiment

Categories

(Firefox :: Messaging System, defect, P1)

Desktop
All
defect

Tracking

()

VERIFIED FIXED
102 Branch
Iteration:
102.1 - May 2 - May 13
Tracking Status
firefox-esr91 --- unaffected
firefox99 --- unaffected
firefox100 + verified
firefox101 + verified
firefox102 + verified

People

(Reporter: mcoman, Assigned: beth)

References

(Blocks 2 open bugs, Regression)

Details

(Keywords: regression)

Attachments

(2 files)

Attached image ss of the issue.png

[Affected versions]:

  • Firefox Beta 100.0 (RC build 2) - Build ID: 20220425210429

[Affected Platforms]:

  • Windows 10 x64
  • macOS 11.6.2
  • Linux Mint 20.2 x64

[Prerequisites]:

  • Have a Firefox build installed.
  • Have the "user.js" file saved to your PC.

[Steps to reproduce]:

  1. Open the browser using the profile from the prerequisites.
  2. Navigate to the profile folder and paste the "user.js" file from the prerequisites.
  3. Restart the browser and focus the "Browser Console".
  4. Observe the displayed errors.

[Expected result]:

  • No error is displayed and you are successfully enrolled in the experiment.

[Actual result]:

  • A validation error is displayed and you are NOT enrolled in the experiment.

[Notes]:

  • This issue is not reproducible if a force enrollment is performed instead of a natural one.
  • Attached a screenshot of the error.
Regressed by: 1752665

:barret, since you are the author of the regressor, bug 1752665, could you take a look?
For more information, please visit auto_nag documentation.

Flags: needinfo?(brennie)

[Tracking Requested - why for this release]: We might need to fix something in Firefox to launch the TCP opt-in modal rollout

Assignee: nobody → brennie
Iteration: --- → 102.1 - May 2 - May 13
Priority: -- → P1

Uploading a patch that makes schema validation for CFR more lenient

If we go this route, you will need to address the following error with the current message:

Required properties are missing from object: layout, category, bucket_id, notification_text, heading_text, text, buttons.
Flags: needinfo?(brennie)

With this patch applied, you can do the following in the browser console:

const message = /* message object here here */;
await (async function(message) {
  const { NimbusFeatures } = ChromeUtils.import("resource://nimbus/ExperimentAPI.jsm");
  const { JsonSchema } = ChromeUtils.import("resource://gre/modules/JsonSchema.jsm");

  const schema = await fetch(NimbusFeatures.cfr.manifest.schema.uri).then(rsp => rsp.json());

  return JsonSchema.validate(message, schema);
})(message);

And it will return a object describing the errors. With the current message, it will show the fields listed in comment 3 as missing.

See Also: → 1740064
Has Regression Range: --- → yes

Comment on attachment 9274673 [details]
Bug 1767266 - Make ExtensionDoorhanger.schema.json more lenient r?mardak

Beta/Release Uplift Approval Request

  • User impact if declined: The Total Content Protection rollout will not be able to go live in 100 as a Nimbus experiment.
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: Yes
  • If yes, steps to reproduce: After this lands, manual enrollment in the TCP experiment should be possible.
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): There are tests to ensure that the messages for the experiment pass validation.
    It only makes the schema accept messages with extra fields.
  • String changes made/needed:
  • Is Android affected?: No
Attachment #9274673 - Flags: approval-mozilla-release?
Attachment #9274673 - Flags: approval-mozilla-beta?
Flags: qe-verify+
Pushed by brennie@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/acc994fd9f0a Make ExtensionDoorhanger.schema.json more lenient r=Mardak

Set release status flags based on info from the regressing bug 1752665

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 102 Branch
QA Whiteboard: [qa-triaged]

This does not need to act as a dot release driver, it is fine to ride along.

Comment on attachment 9274673 [details]
Bug 1767266 - Make ExtensionDoorhanger.schema.json more lenient r?mardak

Approved for 101.0b3.

Attachment #9274673 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

Comment on attachment 9274673 [details]
Bug 1767266 - Make ExtensionDoorhanger.schema.json more lenient r?mardak

Approved for 100.0.1

Attachment #9274673 - Flags: approval-mozilla-release? → approval-mozilla-release+

I have verified that this issue is no longer reproducible with the latest Firefox Release (100.0.1 Build ID - 20220505112524), Firefox Beta (101.0b3 Build ID - 20220504181604), and Firefox Nightly (102.0a1 Build ID - 20220504234551) installed on Windows 10 x64 and Windows 8.1 x64. I can confirm that a natural enrollment in the "pref-flip-staged-rollout-total-cookie-protection-by-default" experiment is possible and no related validation errors are displayed in the "Browser Console".

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

Attachment

General

Created:
Updated:
Size: