Closed Bug 1979785 Opened 1 year ago Closed 1 year ago

[MenuMessage] Additional configuration to make the surface ready for general use

Categories

(Firefox :: Messaging System, enhancement, P1)

enhancement
Points:
5

Tracking

()

VERIFIED FIXED
144 Branch
Iteration:
144.1 - Aug 18 - Aug 29
Tracking Status
firefox143 --- verified
firefox144 --- verified

People

(Reporter: mjung, Assigned: mjung)

References

(Blocks 1 open bug)

Details

(Whiteboard: [omc])

Attachments

(2 files, 1 obsolete file)

Currently we're very limited in what we can configure off-train for the MenuMessage surface.

  • simple layout [primary text, primary cta]
  • column layout with logo
  • button size configuration
  • Update row layout to look more accurate to device migration figma

In addition, the MenuMessage replaces the sign up/sign in menu option and is only shown to users who are not signed in. In order to make this more general use and for the set to default experiment, we'll want to:

  • ensure message is decoupled from the pxi panel (already possible with source==..), but we'll create a new message type constrained to the app menu (default-cta)
  • for default message, it should be configured to show even if the user is signed in the app menu

Figma

Whiteboard: [omc]
Assignee: nobody → nsauermann
Summary: Add additional configuration options for MenuMessage surface → [MenuMessage] Additional configuration to make the surface ready for general use

For now, this bug just focuses on the last two bullets:

  • not replace the sign up/sign in menu option
  • configured to show even if the user is signed in
Status: NEW → ASSIGNED
Iteration: --- → 143.2 - Aug 4 - Aug 15
Points: --- → 3
Priority: -- → P1
Blocks: 1978099
Severity: -- → N/A
Iteration: 143.2 - Aug 4 - Aug 15 → 144.1 - Aug 18 - Aug 29
Points: 3 → 5

Bumping this up a few points as there's a bit more involved than expected when generalizing the surface and keeping it backwards compatible with existing messaging.

Attachment #9507202 - Attachment description: WIP: Bug 1979785 - Generalize MenuMessage surface for set to default messaging → Bug 1979785 - Generalize MenuMessage surface for set to default messaging
Flags: qe-verify+

Generalizing the menu message surface for an upcoming set to default message surfaced through the app menu:

  • Adds default_cta messageType so we can render callouts within the app menu regardless of sign in state
  • Adds a new optional property allowWhenSignedIn for fxa_cta messages, to override sign out visibility constraint (no current use case, but I know product was considering more experimentation within the PXI panel)
  • Adds new simple layout (primary text + primary cta)
  • Adds optional logo property
  • Updates current row implementation to support optional logo property and so it looked closer to designs, updated the panel test to reflect the current designs for the PXI panel messaging.

figma

{F29768427}

{F29793522}

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

Attachment #9509357 - Flags: approval-mozilla-beta?

firefox-beta Uplift Approval Request

  • User impact if declined: No user impact if declined but we'd like to experiment on this surface for a set to default experiment that requires these schema changes for Fx142.
  • Code covered by automated testing: yes
  • Fix verified in Nightly: no
  • Needs manual QE test: yes
  • Steps to reproduce for manual QE testing: See test plan
  • Risk associated with taking this patch: Low
  • Explanation of risk level: Low, created a new message type for this surface which will only be surfaced through Experimenter. There is one live rollout that will be impacted by the css change (will have extra padding) that I will need to be re-run in Fx142 to update the styling which was a product ask.
  • String changes made/needed: No
  • Is Android affected?: no
Blocks: 1985131

firefox-beta Uplift Approval Request

  • User impact if declined: No user impact if declined but we'd like to experiment on this surface for a set to default experiment that requires these schema changes for Fx143.
  • Code covered by automated testing: yes
  • Fix verified in Nightly: no
  • Needs manual QE test: yes
  • Steps to reproduce for manual QE testing: See test plan
  • Risk associated with taking this patch: Low
  • Explanation of risk level: Low, created a new message type for this surface which will only be surfaced through Experimenter. There is one live rollout that will be impacted by the css change (will have extra padding) that I will need to be re-run in Fx143 to update the styling which was a product ask.
  • String changes made/needed: No
  • Is Android affected?: no

Sorry for the extra noise with the uplift request form, I wrote fx142 instead of fx143!

Attachment #9509357 - Attachment is obsolete: true
Attachment #9509357 - Flags: approval-mozilla-beta?

Generalizing the menu message surface for an upcoming set to default message surfaced through the app menu:

  • Adds default_cta messageType so we can render callouts within the app menu regardless of sign in state
  • Adds a new optional property allowWhenSignedIn for fxa_cta messages, to override sign out visibility constraint (no current use case, but I know product was considering more experimentation within the PXI panel)
  • Adds new simple layout (primary text + primary cta)
  • Adds optional logo property
  • Updates current row implementation to support optional logo property and so it looked closer to designs, updated the panel test to reflect the current designs for the PXI panel messaging.

figma

{F29768427}

{F29793522}

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

Attachment #9509376 - Flags: approval-mozilla-beta?

firefox-beta Uplift Approval Request

  • User impact if declined: No user impact if declined but we'd like to experiment on this surface for a set to default experiment that requires these schema changes for Fx143.
  • Code covered by automated testing: yes
  • Fix verified in Nightly: no
  • Needs manual QE test: yes
  • Steps to reproduce for manual QE testing: See test plan
  • Risk associated with taking this patch: Low
  • Explanation of risk level: Created a new message type for this surface which will only be surfaced through Experimenter. There is one live rollout that will be impacted by the css change (will have extra padding) that I will need to be re-run in Fx143 to update the styling which was a product ask.
  • String changes made/needed: N/A
  • Is Android affected?: no
Pushed by nsauermann@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/adce355ffaa3 https://hg.mozilla.org/integration/autoland/rev/350df5caa220 Generalize MenuMessage surface for set to default messaging r=omc-reviewers,jprickett
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 144 Branch
Flags: in-testsuite+
Attachment #9509376 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
QA Whiteboard: [qa-triage-done-c144/b143]

Hi Mimi! I’m trying to verify this enhancement, but I have issues with checking the simple layout message. When I insert the simple layout JSON into a message via ASRouter Devtools and click the “Modify” button, the message doesn’t get triggered. Could you please take a look and confirm whether the JSON is correct? Thanks!

Flags: needinfo?(nsauermann)

Hi Simona, sorry for the delay! Was on PTO + Canadian holiday. Simple layout has been updated, I was missing the secondaryText, which I passed in as an empty string, despite it being hidden in the css, I didn't make this field optional which was causing it to not render when I didn't pass it in for the simple layout - I'll file a follow up to make the JSON less fragile for simple layout. Let me know if you have any other issues with testing.

Flags: needinfo?(nsauermann) → needinfo?(srosu)

Hi, Mimi! Thanks for your help! I have verified this issue using the latest Firefox Nightly 144.0a1 (Build ID: 20250902210651) and Firefox Beta 143.0b7 (Build ID: 20250901090535) builds on Windows 10 x64, and macOS 15.5.

  • After following the steps outlined in the test plan, I can confirm the following:
    • The “Set to default” message is successfully displayed in the hamburger menu, and the “Sign up” message is not shown in the PXI panel, while enrolled in the treatment A branch of the experiment, with Firefox not set as default and not signed in to Firefox Accounts.
      • Clicking the primary button prompts the user to set Firefox as default. After clicking, the message no longer appears and is blocked in the ASRouter devtool.
    • The “Set to default” message is successfully displayed in the hamburger menu, and the “Sign up” message is shown in the PXI panel, while enrolled in the treatment B branch of the experiment, with Firefox not set as default and not signed in to Firefox Accounts.
      • Clicking the “x” button on the “Set to default” message dismisses it. The message no longer appears in the hamburger menu, while the “Sign up” message remains visible in the PXI panel.
    • The “Set to default” message is not displayed in the hamburger menu, but the “Sign up” one is shown in the PXI panel, while enrolled in the treatment B branch of the experiment, with Firefox set as default and not signed in to Firefox Accounts.
    • The “Set to default” message is not displayed in the hamburger menu while enrolled in the treatment A branch of the experiment, with Firefox set as default and not signed in to Firefox Accounts.
    • The Column layout with logo, Simple layout, and row layout with logo messages are correctly displayed according to the provided configurations.
Status: RESOLVED → VERIFIED
Flags: qe-verify+
Flags: needinfo?(srosu)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: