Граф коммитов

4563 Коммитов

Автор SHA1 Сообщение Дата
Vlad Filippov 1acf7aeb09 feat(devices): add Pontoon to client list (#5366), r=@vbudhram 2017-08-16 15:08:16 -04:00
apoorvasingh17 274103a336 fix(form): On device disconnect,"Rather not say" is selected by default (#5289) r=vladikoff
Fixes #5277
2017-08-15 11:38:04 -04:00
Ryan Feeley 05f9ffba3b fix(styles): update to new Photon colours (#5344) 2017-08-14 11:39:31 -04:00
Sean McArthur c316ad31eb chore(dependencies): upgrade away from deprecated mozlog usage (#5349) r=vladikoff 2017-08-11 10:24:31 -04:00
Shane Tomlinson f022a24b46 feat(email-first): A/B test for email-first. (#5351) r=@philbooth
fixes #5335
2017-08-10 14:10:19 +01:00
Shane Tomlinson 5e3bc73c2c fix(cwts): Handle bounced emails and confirmations while on CWTS. (#5343) r=@philbooth
Use the session-verification-poll-mixin in the CWTS page to
handle both bounces and auto-submit the form if verification completes.

fixes #4094
fixes #4193
2017-08-10 13:16:06 +01:00
Shane Tomlinson aee366ccfc fix(signup): Stop polling after leaving the /confirm page. (#5342) r=@vbudhram
Extract the logic to do the signup/signin verification polling
from models/account.js into its own model, models/polls/session.js

Extract most of the polling logic from /confirm into
its own mixin, session-verification-poll-mixin. This
will allow the common logic to be used on CWTS.

The poll is started when entering the /confirm page,
stopped when leaving.

The hope is that this will make #4094 and #4193 very easy.

fixes #5323
fixes #5325
2017-08-09 15:50:20 +01:00
vladikoff 0971fae0bb Release v1.93.0 2017-08-08 17:00:01 -04:00
Vlad Filippov bb4f7578a7 feat(clients): add location information, update title hover location (#5329) r=udaraweerasinghege
Fixes #5291
2017-08-08 16:59:13 -04:00
Sean McArthur c977f07c52 feat(signup): add a Confirm Password field (#5249) r=@shane-tomlinson 2017-08-08 13:23:32 +01:00
John Morrison a83ee6dc07 fix(test): remove call to non-existent check_version(); clobber node_modules 2017-08-07 12:58:29 -07:00
Shane Tomlinson 1581490365 fix(metrics): Cap the max user submitted event offset to 2 days. (#5310)
Also compare each event's offset against the bundle's `flushTime - startTime`.
If the offset > the flush time diff, reject.

fixes #5188
2017-08-04 18:14:20 +01:00
Shane Tomlinson 11d10d8d59 fix(mailcheck): Fix the flaky mailcheck test (#5340) r=vladikoff
Instead of using a nth-child selector in the tests, give the
email-suggestion element an ID that can be checked for and
clicked. Hopefully this is a bit more sane.

Tangential changes:
* Modify the styles slightly to not use a `> span`, and instead
use classes and IDs. > span is slow because of CSS pattern matches
operate from right to left.

fixes #5309
2017-08-04 09:45:47 -04:00
Phil Booth 4e03b36ed7 fix(signin): redirect to signin if bounced screen has no email
https://github.com/mozilla/fxa-content-server/pull/5339
r=shane-tomlinson
2017-08-04 10:00:01 +01:00
Vlad Filippov 745b1dcf2d refactor(config): remove allowedParentOrigins from front-end config (#5338) r=@shane-tomlinson 2017-08-04 09:52:59 +01:00
Shane Tomlinson adb8a712b3 revert(cwts): Revert the revert - re-check addresses and creditcards. (#5337) r=vladikoff
This reverts commit b76d67b12a.
2017-08-03 13:50:22 -04:00
Shane Tomlinson 5db6d3268f feat(client): email first flow (#5177)
The email first flow is available for Sync if the action=email query parameter is specified. The opt-in allows us to release and test without interfering w/ other views & flows. If action=email is not specified and no user is signed in, users should be sent to /signup. If a user is signed in, action is ignored, the user will be sent to /settings.

On the / screen, if the user enters an email that is registered, they will be sent to /signin. If the email isn't registered, they'll be sent to /signup. Note, an email that is registered but has not yet verified will be sent to /signin. The user can reset their password if they really want to re-register.

Once a user is on /signin or /signup, if the user decides they want to change their email, they'll be sent back to / to edit their email. This avoids having to deal with things like signin-from-signup or handling Account doesn't exist errors on the signin page.

I opted to use totally new views instead of the existing SignInView and SignUpView for a couple of reasons. First, this is an experiment. If the experiment fails, I want to be able to easily remove the code. Second, if the experiment succeeds, I want to be able to rip out the old views. There is so much complexity to handle corner cases that'll be avoided with this flow.

If the experiment succeeds, we'll need to update the new signin view to handle OAuth flows and the user's avatar, but that's in the future.

Note, I did not add an A/B test or metrics for this. That'll be a follow on PR, this portion is already large enough.

Note for testing: open https://127.0.0.1:3030/?service=sync&context=fx_firstrun_v2&action=email

fixes #5194
2017-08-03 18:29:41 +01:00
Shane Tomlinson 84d5709e2c feat(CAD): ABC test for CAD phase 3 (deep link) (#5332) r=@philbooth
The new officially supported way to enable signinCodes is to use:

`&forceExperiment=sendSms&forceExperimentGroup=signinCodes`

Support for `&signinCodes=true` has been removed.

After adding the ExperimentMixin to the SmsMixin, I saw a bug
in the ExperimentMixin where it assumes `this._account` always
exists on the View, which isn't the case for the SMSSendView.
Most views declare a `this.getAccount()` function that returns
the account being used. I updated the mixin to first check for
`this.getAccount`, then as a fallback, use `this._account`

fixes #5278
2017-08-03 16:42:34 +01:00
Shane Tomlinson a334ce0e2a fix(test): Fix the fx_firstrun_v2 signup tests in Fx 54. (#5331) r=vladikoff
The tests that deselected a bucket on CWTS failed on Fx 54
because the original input element is too small to click
after being updated to use the Google Material style.

The fixes the problem by moving the label used as the selector
from the input element to the label, which is always visible.

fixes #5330
2017-08-03 10:29:22 -04:00
Shane Tomlinson 0cf878ab03 fix(experiments): Do not delegate to `experiments` methods after view.destroy (#5333) r=@philbooth
The experiment mixin made an assumption that `this.experiments` was always
available in the delegate methods. This assumption is invalid once view.destroy
is called.

This caused a problem on the confirm page - if the app was polling for
an email confirmation and the user clicks the browser's `back` button,
the confirm view was destroyed when the page went back to CWTS, but
the poll continued. If the user verified their email, the poll would
complete, which would then attempt to call the confirm view's
`isInExperimentGroup` function. Since the view was destroyed,
`view.experiments` was `null`. Kaboom.

issue #5323
fixes #5324
2017-08-03 14:50:50 +01:00
Phil Booth 8c844a5c01 feat(signin): add a sign-in bounced email screen
https://github.com/mozilla/fxa-content-server/pull/5318
r=vbudhram,shane-tomlinson
2017-08-03 14:48:29 +01:00
Vijay Budhram 59247b5c49 feat(verification): Add apple association file (#5287) r=vladikoff,rfk,shane-tomlinson
To open verification links directly in iOS we need to host the apple-association-file under our domain.

Ref: mozilla/fxa-bugzilla-mirror#337
2017-08-02 14:52:11 -04:00
Vijay Budhram 074c8d7c82 fix(css): remove left margin (#5327) r=vladikoff 2017-08-02 12:23:46 -04:00
Shane Tomlinson f9f7f10d43 refactor(reset_password): Use back-mixin in reset_password (#5316) r=vladikoff,philbooth
The reset_password view hard coded it's previous view,
which makes it more difficult to use reset_password
from other views than needs to be.

Use the back-mixin which provides generic functionality.
2017-08-01 08:39:00 -04:00
Shane Tomlinson b76d67b12a revert(cwts): Revert "Check addresses and creditcards by default." (#5315) r=vladikoff
This reverts commit 3b3dbe57d5.

Reverts #5282
fixes #5314
2017-08-01 08:38:32 -04:00
Shane Tomlinson f91075edd9 fix(reset_password): Update formPrefill only if user enters an email address (#5295) r=@vladikoff
fixes #5293
2017-07-31 21:43:33 +01:00
Vlad Filippov 48c2534f75 fix(styles): adjust max zoom on mobile devices (#5312) r=shane-tomlinson
Fixes #5234
2017-07-31 13:35:21 -04:00
Shane Tomlinson db660b00a1 fix(handshake): Fix the OAuth handshake test against latest. (#5308) r=vladikoff
There was a timing problem - after clicking the logout link,
the test did not wait for the logout action to complete before
attempting to reload the page. 123done would cause a browser
modal dialog to display, which caused the test to fail.

fixes #5307
2017-07-31 08:42:48 -04:00
Shane Tomlinson 6de395caaa fix(change_email): Fix the change_email functional tests. (#5306) r=vladikoff
There were a couple of timing problems when run against latest.
* When the SIGNOUT button was clicked, the tests did not wait
for the action to complete before navigating to the next page.
* The reset password test opened a new tab and didn't close it.

fixes #5304
2017-07-31 07:53:33 -04:00
Shane Tomlinson a9178e9679 fix(back): Clicks on the hash button no longer append # to the URL. (#5303) r=vladikoff
* fix(back): Clicks on the hash button no longer append # to the URL.

`preventDefaultThen` was being called in the wrong place. We were not
calling it on click handlers, but we were always calling it on keyup,
event if the key was not `ENTER`.

fixes #5290

* fix(test): Test to ensure event.preventDefault is called on #back.
2017-07-28 13:24:47 -04:00
Shane Tomlinson 08d29b4b8c Merge branch 'train-92' 2017-07-28 13:09:13 +01:00
Shane Tomlinson cb5abe99b4 Release v1.92.2 2017-07-28 13:04:01 +01:00
Shane Tomlinson c658662acc fix(test): Fix the OAuth with handshake tests on latest/stage/prod.
The OAuth handshake tests hard coded a test client_id that is valid
against the local server. The same client_id is not valid against
latest/stage/prod.

To get a real client_id, go to an actual 123done instance, then
redirect to the content server and continue the tests.

Note, these tests were extracted from fx_desktop_handshake
into oauth_handshake because OAuth tests cannot be run on circle
since circle doesn't have access to an OAuth relier.

The test is added to the OAuth list, which *is* run when running
the full list. TeamCity uses the full list, so the test will
be run there.

fixes #5300
2017-07-28 13:03:50 +01:00
Ryan Kelly e3d9cc0932 fix(sync): Only show `addresses` if the browser says it's supported. (#5296) r=@philbooth (#5299)
fixes #5292
2017-07-28 12:58:39 +01:00
Shane Tomlinson 22f383829a fix(sms): Ensure SMS can be sent on Fx 55+. (#5301) r=@philbooth
After requesting account data from the browser it is written
to storage inside of a promise. We were not waiting for the
promise to complete before starting the complete_sign_up
view, which checks storage for the account data that is not
yet written. No account is returned, so a new account is
created with the data present in the verification link,
which does not include a sessionToken. When the SMS check
occurs, the account has no sessionToken, so we force
the user down the CAD flow.

The fix? Add a `return` so the promise is propagated
whenever user.setSignedInAccountFromBrowserAccountData is
called.

fixes #5285
2017-07-28 12:58:18 +01:00
Shane Tomlinson 74795e981a fix(test): Fix the OAuth with handshake tests on latest/stage/prod. (#5302) r=@philbooth
The OAuth handshake tests hard coded a test client_id that is valid
against the local server. The same client_id is not valid against
latest/stage/prod.

To get a real client_id, go to an actual 123done instance, then
redirect to the content server and continue the tests.

Note, these tests were extracted from fx_desktop_handshake
into oauth_handshake because OAuth tests cannot be run on circle
since circle doesn't have access to an OAuth relier.

The test is added to the OAuth list, which *is* run when running
the full list. TeamCity uses the full list, so the test will
be run there.

fixes #5300
2017-07-28 12:00:05 +01:00
Shane Tomlinson 316a337e47 refactor(test): Convert reset_password functional tests to use selectors.js (#5294) r=vladikoff
issue #5293
2017-07-27 17:51:43 -04:00
Vlad Filippov fdf724ef1d feat(forms): add non-disabled button experiment (#5268) r=shane-tomlinson
Fixes #5130
2017-07-27 17:41:26 -04:00
Shane Tomlinson 228b8f03c3 fix(sync): Only show `addresses` if the browser says it's supported. (#5296) r=@philbooth
fixes #5292
2017-07-27 15:49:05 +01:00
Shane Tomlinson 78658f094d fix(router): Fix model management when going "back" through history. (#5288) r=@philbooth
What is the problem?
When going "back" through history, the router creates a new model
for the previous view. This causes problems in email-first where
the user's email address on /signup_password is filled in from
an `account` model. Users that go to the TOS/PP agreements then
click "back" are sent all the way back to `/email` because a new
view is created for /signup_password.

How does this fix the problem?
Keep a stack of viewModels. When going back through history,
re-use the same model that was used the first time a view is
displayed.

extraction from #5177
2017-07-27 12:59:05 +01:00
Shane Tomlinson 3c14509b38 fix(signup): Remove `isSyncSuggestionEnabled` from signup-mixin. (#5286) r=philbooth,vladikoff
The function is duplicated by the sync-suggestion-mixin.

extraction from #5177
2017-07-26 07:51:49 -04:00
vladikoff f143ae495b Release v1.92.1 2017-07-25 12:33:44 -04:00
Shane Tomlinson 16045ba05d fix(sign_up): Ensure `beforeRender` calls FormView's `beforeRender` (#5284) r=vladikoff 2017-07-25 12:26:03 -04:00
Shane Tomlinson d8f2aa4418 fix(firstrun): Fix styles in firstrun. (#5283) r=vladikoff
* Set the font-size of the marketing opt-in text to 12px.
* Ensure the entire "Save settings" button text displays in CWTS.

fixes #5271
fixes #5273
2017-07-25 12:01:27 -04:00
vladikoff 20cd261e6c Release v1.92.0 2017-07-25 09:59:43 -04:00
Shane Tomlinson 0496e09801 feat(oauth): Add tests for OAuth w/ desktop handshake (#5248) r=vladikoff 2017-07-25 09:57:35 -04:00
Vijay Budhram 39bb7715c0 feat(emails): Add support for change email (#5242) r=shane-tomlinson,vladikoff 2017-07-25 09:57:10 -04:00
Vlad Filippov 413d65c9a8 fix(cwts): Check addresses and creditcards by default. (#5282) r=shane-tomlinson
Addresses and creditcards were not checked by default. @markh
says they should be.

fixes #5269
2017-07-25 09:37:23 -04:00
Shane Tomlinson deb16e3535 fix(signup): Focus the age input if email/password prefilled (#5281) r=philbooth,vladikoff
fixes #5280

The mile high bug.
2017-07-25 08:36:31 -04:00
Shane Tomlinson 808a814677 refactor(coppa): Make the COPPA view a mixin for easier reuse. (#5261) r=@philbooth
COPPA was originally extracted from the signup flow into its own
view because we had two variations to A/B test. This variant won.

I want to re-use the COPPA logic in the email-first flow. Initially
a mixin was created that creates the COPPA logic. The mixin ended
up doing a lot of plumbing between the consuming object and the
COPPA object, things like delegating to COPPA object methods, event
delegation from the COPPA object to the consuming object, etc.
This housekeeping seemed unnecessary with mixins. Instead
of pushing all responsibilities to the COPPA object, the consuming
object takes over these responsibilities via the mixin.

Extraction from #5177
2017-07-25 12:56:36 +01:00