Closed Bug 1583586 Opened 4 months ago Closed 4 months ago

Publish welcome message 1 using "moments" system


(Firefox :: Messaging System, task, P1)




71.2 - Sept 16 - 29


(Reporter: hoosteeno, Assigned: nanj)



We've landed the new Firefox Welcome Page #1 on It's localized in en and de, and fr is 90% done. Probably will be done today.

We'd like to start showing this content to users. I'm filing my first messaging system bug, so I may have left out a few specs below.


  • Locales: en-*, fr, de
  • Firefox profile create date >= 4 days AND Firefox profile create date < 15 days
  • CFR opt-out != true


  • Browser Restart


Since fr is not live yet, let's launch to en and de with the specs in comment 0, and follow up with French when available.

Should the expiration for showing the page be 11 days = 15 - 4? Or perhaps just a generic 14 or 15 days?

E.g., the user launched Firefox with a profile that's 4 days old then the user doesn't open Firefox again for another 12 days, thus the profile is now 16 days old -- should we show the welcome page? (if 11, then no. if 14 then yes for 2 more days).

Or maybe no expiration at all, so if the user opened Firefox sometime between 4 and 15 profile age days, then the next time launching firefox even 1 year later will show the welcome page?

Flags: needinfo?(hoosteeno)

Let's also add targeting for a min version of 69. Otherwise, those rules look good.

Personally I think we could put a reasonable expiration within the profile age window (a week maybe? or 11 days seems fine)

The desired behavior is...

  • If a user restarts firefox between day 4 and day 15 after creating a profile, they see this page.
  • If they restart sometime later, they don't see this page. We have a 2nd page of content to show starting day 15 (it's still in development).

The conceit here (which we'll have to test) is that many users will see both pages, but we don't want that content to collide.

Does that help answer the questions about expiration?

Flags: needinfo?(hoosteeno)
Assignee: nobody → najiang
Iteration: --- → 71.2 - Sept 16 - 29
Priority: -- → P1

This message has been deployed to stage, we can proceed with QA now.

Notes for QA:


  • Sync CFR messages from Remote Settings stage. You can reference this doc to see how to use the stage environment
  • Turn on AS Router devtools by flipping the pref browser.newtabpage.activity-stream.asrouter.devtoolsEnabled
  • This message is targeting all channels of Firefox 69 and above
  • The targeting locale is "en-*", "fr", and "de"
  • Another targeting rule is around the browser profile age, which ranges from 4 to 15 days inclusive. You can modify that by updating the created key in {profileDir}/times.json

Steps to test

  • Open Firefox
  • Open the ASRouter devtools page by clicking the wrench icon on the top right corner of the newtab page
  • On the devtools admin page, there is a "Messages" section, open the dropdown list of Show messages from, and select "cfr"
  • Scroll down until you find the WNP_MOMENTS_1 message, click on the Show button, then reboot the browser
  • Verify that the browser opens the page as
  • Reboot the browser again, then verify that it opens "about:home" other than the page above

Adding to the steps from comment #5 I think it's important to verify that once the preference (browser.startup.homepage_override.once) is set it's value remains set after the browser has been open for 10 minutes.
Every 5 minutes we check to see if the preference is still active, clear its value and do a new query for messages that could change it's value. It should result in it being set to the same value again.

Flags: qe-verify?

are we good to go :pdehaan?

Flags: needinfo?(pdehaan)

Justin do we have an ETA on the french localization?

Flags: needinfo?(hoosteeno)

There is not an ETA. It is currently blocked by one string, which we await, and I'm not sure the timeline for getting that string localized. I was optimistic in comment 0; I can again say optimistically that one more day in Europe will see it done. But I don't have a basis to be confident in that.

That's why I suggested in comment 1 that we proceed without, and add fr when we can.

Flags: needinfo?(hoosteeno)

Verified w/ enUS, DE, and FR on macOS using Release and Nightly channels.

en-US and DE worked as expected, and FR fell back to en-US (as expected, since the l10n doesn't seem to be complete).
Once the French strings land I can reverify in that locale.

And since I was confused about how to test localized builds, I'll add Ed Lee's Slack installer location comment here for posterity:

for release,

Flags: needinfo?(pdehaan)

It's out! This message has been published to production without targeting "fr".

Justin, we will add "fr" back in later once its localization is done.

FR is now completed in Pontoon (localization is done). is now live.

Setting needinfo here for Nan (thank you Nan).

Flags: needinfo?(najiang)

Yep, adding "fr" back in the targeting locale now.

Flags: needinfo?(najiang)

"fr" is also alive now.

This message has been fully published.

Closed: 4 months ago
Resolution: --- → FIXED

Update: we've extended the expireDelta from 1 day to 7 days in order to get more eligible users to see the moments page. This change was directly made on Remote Settings.

You need to log in before you can comment on or make changes to this bug.