Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(cwts): Add CWTS to the /signup page in Sync optional flow #3498

Merged
merged 1 commit into from Dec 2, 2019

Conversation

shane-tomlinson
Copy link
Contributor

Add CWTS on the /signup page as an experiment, 20% total,
10% in each bucket.

If user deselects all of the buckets, then does not send
Sync information to the browser in the login message.

As part of this, did a little refactor to how WebChannel
events are stored for testing, instead of always storing
them, store events only if in an automated testing
environment. This made me feel more comfortable storing
the event metadata into sessionStorage too, where it can
be queried from within the functional tests.

fixes #3490

@vladikoff and @mozilla/fxa-devs - r?

@shane-tomlinson shane-tomlinson requested review from vladikoff and a team November 27, 2019 11:26
@shane-tomlinson shane-tomlinson added this to the Train 152: FxA milestone Nov 27, 2019
@shane-tomlinson
Copy link
Contributor Author

cwts-on-sync-optional-signup

@shane-tomlinson
Copy link
Contributor Author

Hmm, these two tests are failing in all of my PRs right now:

Screenshot saved at: https://screencap.co.uk/images/077a1ae07983deac32f5a17cae54dad8075484e4.png
× firefox on linux 4.15.0-1052-aws - support form with an active subscription - go to support form, submits the form (28.028s)
NoSuchElement: [POST http://localhost:4444/wd/hub/session/f96b4743-3740-45bb-9597-0e385c0bb7dd/element / {"using":"css selector","value":"#splash header h1"}] Unable to locate element: #splash header h1
For documentation on this error, please visit: https://www.seleniumhq.org/exceptions/no_such_element.html
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: '9b4e2edac972', ip: '172.27.0.3', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-1052-aws', java.version: '11.0.5'
Driver info: driver.version: unknown
at Command. @ tests/functional/lib/helpers.js:2044:6
at Command. @ tests/functional/lib/helpers.js:61:10
at Command. @ tests/functional/lib/helpers.js:75:18
at Command. @ tests/functional/lib/helpers.js:69:10
at Command. @ tests/functional/lib/helpers.js:2463:6
at Command. @ tests/functional/lib/helpers.js:61:10
at Command. @ tests/functional/lib/helpers.js:69:10
at Test.go to support form, submits the form [as test] @ tests/functional/support.js:65:10
@ src/lib/Test.ts:263:51

Screenshot saved at: https://screencap.co.uk/images/077a1ae07983deac32f5a17cae54dad8075484e4.png
× firefox on linux 4.15.0-1052-aws - support form with an active subscription - go to support form, cancel, redirects to subscription management (26.866s)
NoSuchElement: [POST http://localhost:4444/wd/hub/session/f96b4743-3740-45bb-9597-0e385c0bb7dd/element / {"using":"css selector","value":"#splash header h1"}] Unable to locate element: #splash header h1
For documentation on this error, please visit: https://www.seleniumhq.org/exceptions/no_such_element.html
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: '9b4e2edac972', ip: '172.27.0.3', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-1052-aws', java.version: '11.0.5'
Driver info: driver.version: unknown
at Command. @ tests/functional/lib/helpers.js:2044:6
at Command. @ tests/functional/lib/helpers.js:61:10
at Command. @ tests/functional/lib/helpers.js:75:18
at Command. @ tests/functional/lib/helpers.js:69:10
at Command. @ tests/functional/lib/helpers.js:2463:6
at Command. @ tests/functional/lib/helpers.js:61:10
at Command. @ tests/functional/lib/helpers.js:69:10
at Test.go to support form, cancel, redirects to subscription management [as test] @ tests/functional/support.js:94:10
@ src/lib/Test.ts:263:51

@shane-tomlinson shane-tomlinson force-pushed the i3490-cwts-sync-optional branch 2 times, most recently from 98b0972 to 1c988ac Compare November 27, 2019 14:04
@shane-tomlinson shane-tomlinson self-assigned this Nov 27, 2019
Copy link
Contributor

@vbudhram vbudhram left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shane-tomlinson This LGTM 👍🏽, should we target 151?

Copy link
Contributor

@vladikoff vladikoff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

works well in my testing.

At what point are we gonna clean up the logic for this and remove the experiment (so this is the only code path)?

Copy link
Contributor Author

@shane-tomlinson shane-tomlinson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At what point are we gonna clean up the logic for this and remove the experiment (so this is the only code path)?

I'd like to as soon as we are confident we aren't going to roll back. Seems like it should be somewhat straight forward.

@shane-tomlinson shane-tomlinson force-pushed the i3490-cwts-sync-optional branch 5 times, most recently from 12bfb94 to 95b9c20 Compare November 28, 2019 13:27
@shane-tomlinson
Copy link
Contributor Author

shane-tomlinson commented Nov 29, 2019

@sv-sdeiac - this can be tested on https://stomlinson.dev.lcip.org

To test:

  1. Use either Fx 71 or Fx 72.
  2. Create a new profile
  3. Open about:config:
  1. Restart the browser.
  2. Click the "FxA toolbar icon" and click "Sign in to Firefox" (this initializes the rest of the about:config values)
  3. open about:welcome
  4. Sign up for a new account, on /signup, deselect all of the buckets
  5. After verifying, in the FxA toolbar icon, ensure it says "Setup Sync" instead of "Sync now"
  6. Sign out
  7. Open "https://stomlinson.dev.lcip.org/clear"
  8. Click the FxA toolbar icon again and click "Sign in to Firefox" (this re-initializes the about:config values, they were reset on signout).
  9. Open about:welcome
  10. Sign up for another new account, this time, deselect a few buckets but not all.
  11. Verify the account, ensure "Sync now" shows in the FxA toolbar.
  12. Open sync preferences and ensure only the expected buckets are enabled.

Add CWTS on the /signup page as an experiment, 20% total,
10% in each bucket.

If user deselects all of the buckets, then does not send
Sync information to the browser in the login message.

As part of this, did a little refactor to how WebChannel
events are stored for testing, instead of always storing
them, store events only if in an automated testing
environment. This made me feel more comfortable storing
the event metadata into sessionStorage too, where it can
be queried from within the functional tests.

fixes #3490
@shane-tomlinson shane-tomlinson merged commit cf8b683 into master Dec 2, 2019
@shane-tomlinson shane-tomlinson deleted the i3490-cwts-sync-optional branch December 2, 2019 11:52
@shane-tomlinson shane-tomlinson added the needs:qa Development work is done. This is ready for QA. label Dec 2, 2019
@vasilicatamas
Copy link

I'm removing the needs:qa label considering that this implementation has been verified by the QA team and the signoff mail, with the testing results, was sent yesterday.

@vasilicatamas vasilicatamas removed the needs:qa Development work is done. This is ready for QA. label Dec 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Standardize Sync Optional Flow to New Winning UX
4 participants