Closed Bug 1366056 Opened 7 years ago Closed 7 years ago

showing v57 tourset for new user tour and update user tour

Categories

(Firefox :: General, enhancement, P1)

enhancement

Tracking

()

VERIFIED FIXED
Firefox 57
Tracking Status
firefox57 --- verified

People

(Reporter: nyee, Assigned: gasolin)

References

Details

(Whiteboard: [photon-onboarding])

Attachments

(1 file, 1 obsolete file)

Logic to give Tour Overlay with "what's new with photon" content instead of new user content to all existing users to showcase new photon features.
Blocks: 1360378
Whiteboard: [photon-onboarding]
If new user downloads fx 56 then updates to 57, please follow this logic: https://bugzilla.mozilla.org/show_bug.cgi?id=1360474
Priority: -- → P1
Blocks: 1354046
Logic described in bug 1360474 seems fine since we do the validation separately for each tour.

Here is what I think about how to describe the actionable task for this issue:

Should show the overlay
  * When user got a new uncompleted tour (ex: tour57)
  * Even when user was checked the `Mark all as complete` checkbox.
    * should unchecked the `Mark all as complete` checkbox in overlay
Priority: P1 → P2
Summary: Logic for giving existing users the 57 tour → Show existing users the 57 tour
Target Milestone: --- → Firefox 57
Flags: qe-verify+
QA Contact: jwilliams
This bug need to be done after v56 merge day (8/2), only need add tour id into `browser.onboarding.updatetour` and set `browser.onboarding.tourset-version` to 2
Blocks: 1367698
No longer blocks: 1354046, 1360378
Depends on: 1377470, 1367696, 1375775
we should do this after visual asset update as well, or user will file related known-bugs
Assignee: nobody → gasolin
Depends on: 1382520
Depends on: 1382376, 1381351
Depends on: 1371538
The patch follow UX requirement in bug 1382376 and bug 1381351 to update the new tours and update tours.
should postpone the review until we updated the visual asset (bug 1382520)
Summary: Show existing users the 57 tour → Show existing users the 57 tour and update new user tour
Status: NEW → ASSIGNED
Priority: P2 → P1
Summary: Show existing users the 57 tour and update new user tour → showing v57 tourset for new user tour and update user tour
Depends on: 1390042
Since bug 1382520 is landed we can reveal new tours to nighly users.

The patch did 3 things:

1. update the new tourset to follow v57 spec described in bug 1381351
2. add update tourset to follow v57 spec described in bug 1382376
3. remove unused search tour

And there are 2 things to notice:

* I've added screenshots in pref though its not available yet, but that will still work (overlay wll show only 5 tours) because we already filter out the unmatched tour in `init`. Once screenshots tour is available, the overlay will show 6 tours again.
* Related to Bug 1390042, putting `performance` tour as the default fist tour will lead some test timeout(because the tour will set as complete instantly when it's shown as default tour, therefore the update observer in test wont able to observe the pref update), the related unit test error also fixed in this bug.
Comment on attachment 8893184 [details]
Bug 1366056 - showing v57 tourset for new user tour and update user tour;

https://reviewboard.mozilla.org/r/164206/#review173880

::: browser/extensions/onboarding/test/browser/browser_onboarding_hide_all.js:39
(Diff revision 4)
> +    promisePrefUpdated("browser.onboarding.notification.finished", true)
> +  ];
> +  tourIds.forEach((id, idx) => {
> +    // if the fitst tour tour tagged completed instantly upon showing
> +    // we need to check if the pref already set to true
> +    if (idx === 0 && SHOWING_COMPLETE_TOUR.includes(id)) {

We could reduce this special condition if moved all the expected pref updated promises to the top before opening tabs. With that change, would still be able to obeserve the updates of the "SHOWING_COMPLETE_TOUR" tours.

::: browser/extensions/onboarding/test/browser/head.js:12
(Diff revision 4)
>  const ABOUT_NEWTAB_URL = "about:newtab";
>  const URLs = [ABOUT_HOME_URL, ABOUT_NEWTAB_URL];
>  const TOUR_IDs = [
> +  "onboarding-tour-performance",
>    "onboarding-tour-private-browsing",
> +  // "onboarding-tour-screenshots",

nit: Probably could do "TODO: do onboarding-tour-screenshots"

::: browser/extensions/onboarding/test/browser/head.js:20
(Diff revision 4)
>    "onboarding-tour-default-browser",
> +];
> +const UPDATE_TOUR_IDs = [
> +  "onboarding-tour-performance",
> +  "onboarding-tour-library",
> +  // "onboarding-tour-screenshots",

nit: Probably could do "TODO: do onboarding-tour-screenshots"
Attachment #8893184 - Flags: review?(fliu)
Comment on attachment 8893184 [details]
Bug 1366056 - showing v57 tourset for new user tour and update user tour;

https://reviewboard.mozilla.org/r/164206/#review173880

> nit: Probably could do "TODO: do onboarding-tour-screenshots"

Type too fast. Should be "TODO: add onboarding-tour-screenshots"

> nit: Probably could do "TODO: do onboarding-tour-screenshots"

Type too fast. Should be "TODO: add onboarding-tour-screenshots"
Comment on attachment 8893184 [details]
Bug 1366056 - showing v57 tourset for new user tour and update user tour;

https://reviewboard.mozilla.org/r/164206/#review173880

> We could reduce this special condition if moved all the expected pref updated promises to the top before opening tabs. With that change, would still be able to obeserve the updates of the "SHOWING_COMPLETE_TOUR" tours.

good idea! updated

> Type too fast. Should be "TODO: add onboarding-tour-screenshots"

updated

> Type too fast. Should be "TODO: add onboarding-tour-screenshots"

updated
Attachment #8897347 - Attachment is obsolete: true
Attachment #8897347 - Flags: review?(rexboy)
Attachment #8897347 - Flags: review?(fliu)
Attachment #8897347 - Flags: review?(dtownsend)
Comment on attachment 8893184 [details]
Bug 1366056 - showing v57 tourset for new user tour and update user tour;

https://reviewboard.mozilla.org/r/164206/#review173868

::: browser/extensions/onboarding/content/onboarding.js:532
(Diff revision 4)
> +
> +    switch (tourId) {
> +      // These tours are tagged completed instantly upon showing.
> +      case "onboarding-tour-default-browser":
> +      case "onboarding-tour-sync":
> +      case "onboarding-tour-performance":

These changes are already done in another patch; Remember to do rebase before landing.

::: browser/extensions/onboarding/test/browser/browser_onboarding_hide_all.js:36
(Diff revision 4)
> +  tourIds.forEach((id, idx) => {
> +    // if the fitst tour tour tagged completed instantly upon showing

typo: `if the first tour is tagged completed`

::: browser/extensions/onboarding/test/browser/browser_onboarding_tours.js:23
(Diff revision 4)
>  
> -add_task(async function test_hide_onboarding_tours() {
> +add_task(async function test_set_right_tour_completed_style_on_overlay() {
>    resetOnboardingDefaultState();
>  
>    let tourIds = TOUR_IDs;
> +  // Make the tours of even number as completed

nit: `Mark`

::: browser/extensions/onboarding/test/browser/head.js:12
(Diff revision 4)
>  const ABOUT_NEWTAB_URL = "about:newtab";
>  const URLs = [ABOUT_HOME_URL, ABOUT_NEWTAB_URL];
>  const TOUR_IDs = [
> +  "onboarding-tour-performance",
>    "onboarding-tour-private-browsing",
> +  // "onboarding-tour-screenshots",

`// TODO: add "onboarding-tour-screenshots" after landing screenshot tour.`

::: browser/extensions/onboarding/test/browser/head.js:20
(Diff revision 4)
>    "onboarding-tour-default-browser",
> +];
> +const UPDATE_TOUR_IDs = [
> +  "onboarding-tour-performance",
> +  "onboarding-tour-library",
> +  // "onboarding-tour-screenshots",

`// TODO: add "onboarding-tour-screenshots" after landing screenshot tour.`

::: browser/extensions/onboarding/test/browser/head.js:26
(Diff revision 4)
> +  "onboarding-tour-singlesearch",
> +  "onboarding-tour-customize",
> +  "onboarding-tour-sync",
> +];
> +// These tours are tagged completed instantly upon showing.
> +const SHOWING_COMPLETE_TOUR = [

nit: `INSTANTLY_COMPLETE_TOURS`
Attachment #8893184 - Flags: review?(rexboy) → review+
Comment on attachment 8893184 [details]
Bug 1366056 - showing v57 tourset for new user tour and update user tour;

https://reviewboard.mozilla.org/r/164206/#review174092
Attachment #8893184 - Flags: review?(dtownsend) → review+
Comment on attachment 8893184 [details]
Bug 1366056 - showing v57 tourset for new user tour and update user tour;

https://reviewboard.mozilla.org/r/164206/#review174338
Attachment #8893184 - Flags: review?(fliu) → review+
Pushed by flin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/f25c91cca4c3
showing v57 tourset for new user tour and update user tour;r=Fischer,mossop,rexboy
Backed out for failing browser_all_files_referenced.js:

https://hg.mozilla.org/integration/autoland/rev/406de5596351ef8ec50adda30f240e2641b90270

First push which ran failing test: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=9e66c5c8468329ea2c5cea0807cd59d3e6a4dc4c&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=retry&filter-resultStatus=runnable&filter-resultStatus=usercancel
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=123539901&repo=autoland

[task 2017-08-16T10:27:43.351116Z] 10:27:43     INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/static/browser_all_files_referenced.js | there should be no unreferenced files - Got 2, expected 0
[task 2017-08-16T10:27:43.353064Z] 10:27:43     INFO - Stack trace:
[task 2017-08-16T10:27:43.354909Z] 10:27:43     INFO - chrome://mochikit/content/browser-test.js:test_is:1002
[task 2017-08-16T10:27:43.357127Z] 10:27:43     INFO - chrome://mochitests/content/browser/browser/base/content/test/static/browser_all_files_referenced.js:checkAllTheFiles:600
[task 2017-08-16T10:27:43.359603Z] 10:27:43     INFO - Not taking screenshot here: see the one that was previously logged
[task 2017-08-16T10:27:43.365314Z] 10:27:43     INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/static/browser_all_files_referenced.js | unreferenced file: resource://onboarding/img/figure_search.svg - 
[task 2017-08-16T10:27:43.367482Z] 10:27:43     INFO - Stack trace:
[task 2017-08-16T10:27:43.370040Z] 10:27:43     INFO - chrome://mochitests/content/browser/browser/base/content/test/static/browser_all_files_referenced.js:checkAllTheFiles:602
[task 2017-08-16T10:27:43.373125Z] 10:27:43     INFO - Not taking screenshot here: see the one that was previously logged
[task 2017-08-16T10:27:43.383522Z] 10:27:43     INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/static/browser_all_files_referenced.js | unreferenced file: resource://onboarding/img/icons_search-notification.svg -
Flags: needinfo?(gasolin)
removed unused files, thanks for catching that
Flags: needinfo?(gasolin)
Pushed by flin@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9fbd55be05b2
showing v57 tourset for new user tour and update user tour;r=Fischer,mossop,rexboy
https://hg.mozilla.org/mozilla-central/rev/9fbd55be05b2
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
I have verified that this is fixed on today's nightly.
Status: RESOLVED → VERIFIED
I can confirm Fx 57.0b8 has the intended behavior, I tested on Ubuntu 14.04 LTS, mac OS X 10.13 and Windows 10 x64.
Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: