Issue #4944
Users in the SMS "control" group must be in CAD, we are comparing
SMS against the CAD screens, not the general population.
This PR makes that happen. The SMS/CAD selection logic is extracted
into its own mixin so that it can be independently tested and
used on the "signup" page too.
From the experiment-mixin, trigger `flow.initialized` which
will force the flow model to initialize for experiments
that are created at runtime.
What does this do?
Replaces direct references to lib/validate w/ lib/vat.
VAT still delegates to Validate, the next step is for VAT to
take over responsibilities of Validate.
WHY?
While I was was working on using the same RegExps for both
the front and back-ends, I grew frustrated that the
front-end had multiple ways of validating. The same
mechanism should be used everywhere on the frontend.
Why did so many tests change?
The notifier now fully validates the uid and email fields. Tests that
expected proper uids and emails had to be updated. Some other tests
tried to sign in w/o a sessionTokenContext.
wait for the element to be gone or else it's possible for the subsequent
`click` can fail with a StaleElementReference because click on 123Done's
button happens, the XHR request takes a bit of time, the reference to the
321 Done button is fetched, the XHR request completes and updates the DOM,
making the reference to the 321 Done button stale.
fixes#4968
Pass errors back to the caller of `request`, if possible.
This will be used when requesting user data from the browser,
if for whatever the web channel returns an error, the user
should continue with the flow, so the caller should be
responsible for stopping the flow.
With the introduction of web sessions in the UI, the OAuth session
selectors were no longer valid. This fixes that.
Instead, use the data-name attribute and look for 123 and 321.
fixes#4968
I'm never certain whether signup verification emails are being sent before
the emails we expect. This PR has the tests throw an error if the expected
email headers are not present, and should help us debug intermittent errors.
issue #4925
* Pass the user's country to the /sms form so that
the form's validation is set up correctly.
* Add additional gating logic for Romania, if
the auth server says the user can send an SMS,
only allow users with softvision.(com|ro)
addresses to see the SMS form. This allow
softvision to test w/o exposing the feature
to everyone else from the country.
fixes#4861
* fix(experiments): Use train-84 experiments. (#4909) r=@jbuck
* fix(test): Fix sync v2 password reset test.
The test was trying to go to window handle 1 before it was available.
Use the helper function that ensures a window exists before calling
switchToWindow.
fixes#4894
* fix(test): Close all windows but the first after a test run.
If a test opens a new tab and checks for an element in the new
tab, but fails, then the 2nd tab is never closed. This causes
cascading failures down the line.
In `clearBrowserState`, close all windows but the first.
fixes#4896
* fix(test): Fix Firefox Desktop Sync v2 sign_in
We were checking for browser notifications before the
screen transitioned.
fixes#4898
* feat(server): disable server verification
* fix(server): add back verify_email route
* fix(errors): Add the new email bounce errors.
Without entries in auth-errors, errors show up as [Object object] in
the error logs.
fixes#4905
* Release v1.84.1
* fix(clients): set correct device type for mobile clients (#4936) r=vbudhram
Fixes#4932
* Release v1.84.2
Ensure the element to click is present in the DOM
before attaching a script to check its visibility.
This avoids a problem where `click` could be called
on an element before a page transition has occurred.
fixes#4929
* jQuery is only used to detect animations in visibleByQSA
* In `type`, use the `click` helper which ensures an element is visible first.
* In `visibleByQSA`, use config.pageLoadTimeout for the timeout, which is what
we use elsewhere when searching for elements.
Bad jiji - self merge after discussing approach with other team-members.
For users in browsers with WebChannel support, redirect to an internal URL bypassing mozilla.org. For users without WebChannel support, continue to redirect to mozilla.org.
fixes#4605