Commit graph

125 commits

Author SHA1 Message Date
Travis Ralston
bd3237500f Fix submit disabled condition 2019-06-10 20:24:06 -06:00
Travis Ralston
aacb942d57 Don't handle identity server failure as fatal, and use the right message
Fixes https://github.com/vector-im/riot-web/issues/10002
2019-06-10 19:28:32 -06:00
Travis Ralston
59ba5fe62a Don't block submit if the server is dead
But still check so we can clear any errors, maybe
2019-06-07 07:36:46 -06:00
Travis Ralston
120123bcb1 Allow submit on forgot password page 2019-06-07 07:27:15 -06:00
Travis Ralston
d59ad605a6 Allow the login form to be submitted, and clarify other things 2019-06-06 12:18:41 -06:00
Travis Ralston
ace1bde238 Implement design and copy for errors 2019-06-05 11:32:02 -06:00
Travis Ralston
e2fdeec71a Fail more softly on homeserver liveliness errors
This performs liveliness checks on the auth pages to try and show a friendlier error. Earlier checks in the app startup are expected to not block the app from loading on such failures.

See https://github.com/vector-im/riot-web/issues/9828
2019-06-04 23:42:38 -06:00
David Baker
9897e99195 Fix login page breaking on wrong password
Fixes https://github.com/vector-im/riot-web/issues/9942
2019-06-04 13:51:33 +01:00
David Baker
e1fa53e5d4 Remove unused errorText prop
Login is only used from MatrixChat and that doesn't specify it
2019-06-04 13:30:36 +01:00
Travis Ralston
14dc4b47fa Merge branch 'develop' into travis/feature/wellknown2 2019-05-22 23:05:54 -06:00
David Baker
90eb3ce9ec js-sdk interactive auth now sends email token
We previously sent it in componentWillMount of the email token
auth component which definitely gets us on react's naughtly list.
We now pass the js-sdk a callback it can call at the appropriate
time to send the token (https://github.com/matrix-org/matrix-js-sdk/pull/926).

We should make password reset and adding email addresses work the
same way, but currently they don't even use the interactive-auth
helpers(!) so they're unaffected.

https://github.com/vector-im/riot-web/issues/9586
2019-05-22 11:51:26 +01:00
Travis Ralston
595b490fd7 Don't act busy on the login page for moving your cursor
If you were in the username field and simply tabbed out without entering anything, the form would become "busy" and not let you submit. We should only be doing this if we have work to do, like .well-known discovery of the homeserver.
2019-05-20 20:10:10 -06:00
Travis Ralston
1ea5b42cf5
Merge branch 'travis/feature/wellknown2' into travis/wk/mxid 2019-05-16 12:47:37 -06:00
Travis Ralston
8c326bff9e
Merge pull request #2964 from matrix-org/travis/wk/simplify-phases
Refactor "Next" button into ServerConfig components
2019-05-16 12:46:35 -06:00
Travis Ralston
6e3b06f364 Human de-linting 2019-05-15 13:56:15 -06:00
Travis Ralston
9b5830bb08 Restore use of full mxid login
See https://github.com/vector-im/riot-web/issues/9290
2019-05-14 15:01:22 -06:00
Travis Ralston
e4576dac28 Render underlines and tooltips on custom server names in auth pages
See https://github.com/vector-im/riot-web/issues/9290
2019-05-13 17:16:40 -06:00
Travis Ralston
ee33a4e9ba Refactor "Next" button into ServerConfig components
TODO still remains about making ModularServerConfig extend ServerConfig instead of duplicating everything.

See https://github.com/vector-im/riot-web/issues/9290
2019-05-13 16:30:34 -06:00
Travis Ralston
eab209a26b Log in to the right homeserver when changing the homeserver 2019-05-06 12:00:48 -06:00
Travis Ralston
0b1a0c77b7 Make login pass around server config objects
Very similar to password resets and registration, the components pass around a server config for usage by other components. Login is a bit more complicated and needs a few more changes to pull the logic out to a more generic layer.
2019-05-03 11:33:36 -06:00
Travis Ralston
b6e027f5cb Make password resets use server config objects
Like registration, the idea is that the object is passed around between components so they can take details they need.
2019-05-03 11:33:36 -06:00
Travis Ralston
00ebb5e1fd Make registration work with server configs
The general idea is that we throw the object around between components so they can pull off the details they care about.
2019-05-03 11:33:36 -06:00
Travis Ralston
6b45e60314 Update ServerTypeSelector for registration to use a server config 2019-05-03 11:32:59 -06:00
Travis Ralston
35ad68751b Remove unused skipServerDetails prop from registration 2019-05-03 11:13:36 -06:00
Travis Ralston
1620ccac53 Always default to the registration form
Fixes https://github.com/vector-im/riot-web/issues/8886
2019-05-02 23:55:40 -06:00
J. Ryan Stinnett
a20d23daf3 Remove older password length check
Now that we have a fancier password complexity check, remove the older minimum
length to avoid the feeling of two password style guides fighting each other.
2019-04-25 14:29:10 +01:00
J. Ryan Stinnett
008ca3543b Migrate passwords on registration to new validation
In addition to migrating password fields, this also removes the remaining
support for old-style validation in registration now that all checks have been
converted.
2019-04-25 14:29:10 +01:00
J. Ryan Stinnett
aaf745ae2a Migrate phone number on registration to new validation 2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
9064875312 Migrate email on registration to new validation 2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
1cbb4be6f7 Add support for validating more strictly at submit time
When submitting a form, we want to validate more strictly to check for empty
values that might be required. A separate mode is used since we want to ignore
this issue when visiting a field one by one to enter data.

As an example, we convert the pre-existing logic for the username requirement
using this new support.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett
adc23faf4b Test defaultServerName before showing it on forgot password
The Forgot Password screen wasn't checking the default server name for a value
before showing it, leading to a possible "Your Matrix account on <blank>"
message.

Fixes https://github.com/vector-im/riot-web/issues/9507
2019-04-17 09:35:45 +01:00
Travis Ralston
9d55d0c897 Add strings for js-sdk autodiscovery errors
For https://github.com/matrix-org/matrix-js-sdk/pull/894
2019-04-11 15:54:37 -06:00
Travis Ralston
650185e578 Remove 'try the app' link from login
Fixes https://github.com/vector-im/riot-web/issues/8384

This will be re-addressed in https://github.com/vector-im/riot-web/issues/9388 or similar. Because the implementation is undefined, the dead code is being removed instead of just left dead.
2019-04-05 10:35:11 -06:00
Travis Ralston
3d2b0f861c Clean up unused imports
For the almighty linter
2019-03-13 15:33:14 -06:00
Travis Ralston
eb33af94d1 Fix 'forgot password' warning to represent the reality of e2ee
Fixes https://github.com/vector-im/riot-web/issues/6681
2019-03-13 15:24:05 -06:00
Travis Ralston
9b252cace5 Invert to be if(!form) goback 2019-03-12 10:39:38 -06:00
Travis Ralston
9794e32f48 Provide an escape from the registration process
Fixes https://github.com/vector-im/riot-web/issues/6560

Would be better improved by https://github.com/matrix-org/matrix-doc/pull/1921 or similar in the future.
2019-03-11 16:32:50 -06:00
J. Ryan Stinnett
302e601fa1 Convert forgot password to Field component
This converts all fields in the forgot password form to use the Field component.
2019-03-05 17:58:42 +00:00
J. Ryan Stinnett
404c60fb0e Keep registration spinner inside the auth modal
The spinner was taking on the full height of the modal and escaping off the
page. This keeps it contained inside the modal.

Fixes https://github.com/vector-im/riot-web/issues/8661
2019-02-27 11:21:39 +00:00
J. Ryan Stinnett
426bdafe22
Merge pull request #2672 from jryans/password-validation
Report validity state of all registration fields on any change
2019-02-26 18:20:38 +00:00
J. Ryan Stinnett
4b29d5e228 Clarify finding first non-null field error 2019-02-26 16:41:17 +00:00
J. Ryan Stinnett
ec35423a0d Use correct initial phase for server type
The initial phase of registration can differ by the default server type. In
particular, the Matrix.org HS type wants to skip to the registration form.

Fixes https://github.com/vector-im/riot-web/issues/8862
2019-02-22 16:16:08 +00:00
J. Ryan Stinnett
ca5c7b03d3
Merge pull request #2675 from jryans/default-hs-to-form
Skip server details on registration with a default HS
2019-02-22 10:19:53 +00:00
J. Ryan Stinnett
fe141412b6 Skip server details on registration with a default HS
If Riot has been configured with a `default_hs_url` (or `default_server_name`,
which then sets a default HS URL), then skip the server details on registration
by default.

Fixes https://github.com/vector-im/riot-web/issues/8840
2019-02-21 18:11:23 +00:00
J. Ryan Stinnett
b74107116b Clarify what the username error refers to
Fixes https://github.com/vector-im/riot-web/issues/8839
2019-02-21 15:01:09 +00:00
J. Ryan Stinnett
86a375c7da Report validity state of all registration fields on any change
This passes the validity state of all fields to the consumer of
`RegistrationForm` via the `onValdiationChange` callback, instead of just the
most recent error.

In addition, we notify the consumer for any validation change, whether success
or failure. This allows old validation messages to be properly cleared. It also
allows the consumer to be aware of multiple validation errors and display the
next one after you have fixed the first.

Fixes https://github.com/vector-im/riot-web/issues/8769
2019-02-21 14:44:39 +00:00
J. Ryan Stinnett
16b9688303
Merge pull request #2669 from matrix-org/jryans/default-server-name
Restores support for `default_server_name` which discovers URLs via `.well-known`
2019-02-21 10:38:15 +00:00
J. Ryan Stinnett
d220dd49ef Clarify that the account is a Matrix account
Now that auth flows can show a server name like `example.com` which might
delegate the HS to some other server, it could be confusing to see text like
"Sign in to example.com", especially if `example.com` runs an identity service,
uses SSO, has its own account system, or other things like this.

To clarify that we mean Matrix accounts, all auth flows are updated to talk in
terms of "<verb> your Matrix account on <server>".

Fixes part of
https://github.com/vector-im/riot-web/issues/8763#issuecomment-464823909.
2019-02-20 17:33:59 +00:00
J. Ryan Stinnett
5433feb4d4 Display default server name in forgot password
If a default server name is set and the current HS URL is the default HS URL,
we'll display that name in the "your account" text on the forgot password form.

This can be a bit more user friendly, especially when the HS is delegated to
somewhere such as Modular, since you'll then see "example.com" instead of
"example.modular.im", which you have no direct relationship with as a user.

This is the key bit of https://github.com/vector-im/riot-web/issues/8763 for
forgot password.
2019-02-20 17:33:59 +00:00
J. Ryan Stinnett
f4b7180087 Display default server name in login
If a default server name is set and the current HS URL is the default HS URL,
we'll display that name in the "sign in to" text on the login form.

This can be a bit more user friendly, especially when the HS is delegated to
somewhere such as Modular, since you'll then see "example.com" instead of
"example.modular.im", which you have no direct relationship with as a user.

This is the key bit of https://github.com/vector-im/riot-web/issues/8763 for
login.
2019-02-20 17:33:59 +00:00