Commit graph

337 commits

Author SHA1 Message Date
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
J. Ryan Stinnett
91f56a4447 Display default server name in registration
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 registration 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
registration.
2019-02-20 12:17:51 +00:00
J. Ryan Stinnett
b846ac5800 Rework ServerTypeSelector to only emit changes after initial setup
`ServerTypeSelector` would call its `onChange` prop both at construction
(because it computed the default selected type and consumers might want to know)
as well as on actual user change. This ended up complicating consumer code, as
they want to differentiate between initial state and changes made by the user.

To simplify things, `ServerTypeSelector` now exports a function to compute the
server type from HS URL, which can be useful for setting its initially selected
type. The consumer now provides that type via a prop, and `onChange` is now only
called for actual user changes, simplifying the logic in `Registration` which
uses `ServerTypeSelector`.

In addition, some usages of `customHsUrl` vs. `defaultHsUrl` in `Registration`
are simplified to be `customHsUrl` only (since it already includes a fallback to
the default URL in `MatrixChat`).
2019-02-20 11:23:51 +00:00
J. Ryan Stinnett
4c83d898bd Show link to login even during UI auth
This gives users an escape hatch in case something goes wrong with the UI auth
step, and they'd like to go somewhere else in the auth process.
2019-02-19 13:13:21 +00:00
David Baker
c3ca2b4d46 add comment 2019-02-13 19:06:44 +00:00
David Baker
0f4092dcbc Fix registration after clicking email link
We weren't correctly jumping into the appropriate bit of the registration
flow when coming in from an email link.

 * If we have client secret / sessionId, go straight to registration phase
 * Don't reset server URLs when the server type component tells us its
   initial value
 * Confusingly, pass the custom server URL as 'default server URL' to
   the custom server type, as this is what we want the inital section
   to be based on.

Fixes https://github.com/vector-im/riot-web/issues/8490
2019-02-13 18:12:34 +00:00
J. Ryan Stinnett
d03f4875f3 Update style for forgot password copy, add full stops 2019-02-07 09:57:31 +00:00
J. Ryan Stinnett
8b2f2c7d5c Remove unneeded refs from reset password 2019-02-07 09:44:28 +00:00
J. Ryan Stinnett
e1b7af39dc Basic validation of HS URL for reset password 2019-02-07 09:36:43 +00:00
J. Ryan Stinnett
2b7ecd3de7 Go to forgot phase on error 2019-02-06 18:32:28 +00:00
J. Ryan Stinnett
9f9f0d4168 Move server details to a separate phase of forgot password 2019-02-06 18:30:07 +00:00
J. Ryan Stinnett
7680667334 Avoid controlled component error with empty strings 2019-02-06 18:26:44 +00:00
J. Ryan Stinnett
0e543a362e Move errors to top of reset password 2019-02-06 18:10:06 +00:00
J. Ryan Stinnett
3afc455f3c Extract each phase to a separate function 2019-02-06 18:00:58 +00:00
J. Ryan Stinnett
a61de03a88 Remove left over TODO 2019-02-06 16:32:22 +00:00
J. Ryan Stinnett
b20f1d1240 Convert forgot password to phases like the other flows 2019-02-06 16:30:53 +00:00
J. Ryan Stinnett
8aff6b2e45 Add your account header to reset password 2019-02-06 16:14:21 +00:00
J. Ryan Stinnett
8e12c4a3b8 Normalize URL naming for reset password 2019-02-06 15:58:31 +00:00
J. Ryan Stinnett
8c6dc002f3 Add new footer text to reset password 2019-02-06 15:46:25 +00:00
J. Ryan Stinnett
5d0798ed24 Tweak field labels on reset password 2019-02-06 15:16:54 +00:00
J. Ryan Stinnett
ccf7e75c95 Group fields into rows on reset password 2019-02-06 15:10:16 +00:00
J. Ryan Stinnett
6549ae1ce5 Remove unused props from login 2019-02-05 16:11:32 +00:00
J. Ryan Stinnett
02a20fa668 Tweak login wording to match design 2019-02-05 15:36:00 +00:00
J. Ryan Stinnett
dbe14c5527 Enable phases for login, but start on the login phase by default 2019-02-05 14:43:29 +00:00
J. Ryan Stinnett
4e152f82e7 Remove server types from login 2019-02-05 14:30:45 +00:00
J. Ryan Stinnett
a73e3dcd4c Remove unused props from registration 2019-02-05 07:11:29 +00:00
J. Ryan Stinnett
5432b09478 Default to registration phase when custom URLs disabled 2019-02-05 05:25:13 +00:00
J. Ryan Stinnett
22178f2d7c
Merge pull request #2548 from jryans/auth-reg-disabled
Add error message when registration is disabled
2019-02-01 08:59:44 -06:00
J. Ryan Stinnett
e414fe434c Add full stop 2019-02-01 08:32:47 -06:00
J. Ryan Stinnett
918d4490c7 Add more detail to error message 2019-02-01 08:31:54 -06:00
J. Ryan Stinnett
fb39ba1ffc
Merge pull request #2547 from jryans/auth-well-known-state
Ensure correct server URLs with .well-known and server type
2019-02-01 08:28:33 -06:00
J. Ryan Stinnett
68ae72f855 Spell homeserver correctly 2019-01-31 18:52:39 -06:00
J. Ryan Stinnett
bc4a603672 Add error message when registration is disabled 2019-01-31 16:02:42 -06:00
J. Ryan Stinnett
f58055c778 Skip .well-known discovery for free server type 2019-01-31 12:01:58 -06:00
J. Ryan Stinnett
6597db6328 Simplify login server URL state 2019-01-31 12:01:17 -06:00
J. Ryan Stinnett
2f006939f2 Use mx_AuthBody prefix for consistency 2019-01-31 10:06:35 -06:00
J. Ryan Stinnett
eafd7e12d0 Validate login phone number on blur 2019-01-31 10:05:39 -06:00
J. Ryan Stinnett
cfe19d710b Avoid hsName for auth headers which can be outdated
`hsName` uses only the default HS, so that can easily be outdated if the HS URL
is customized.
2019-01-31 10:05:39 -06:00
J. Ryan Stinnett
f5e3b90fc3 Clear out discovery errors on each try 2019-01-31 10:05:39 -06:00
J. Ryan Stinnett
36d162cb25 Validate server URLs on blur instead of change 2019-01-31 10:05:39 -06:00
J. Ryan Stinnett
379b940bfa Add server details edit link to registration 2019-01-29 17:38:28 -06:00
J. Ryan Stinnett
160cc4e156 Wire up server details next button 2019-01-29 17:38:28 -06:00
J. Ryan Stinnett
1f78b59a0e Add create your account header 2019-01-29 17:38:28 -06:00
J. Ryan Stinnett
23fc4417e8 Wire up server type selector, similar to login flow 2019-01-29 17:38:28 -06:00
J. Ryan Stinnett
ad76451655 Use render prefix for JSX methods in Login 2019-01-29 17:38:28 -06:00
J. Ryan Stinnett
2f87d0c8cb Error on top to match login 2019-01-29 17:38:28 -06:00
J. Ryan Stinnett
c84198afd1 Disable phases for now 2019-01-28 17:49:24 -06:00
J. Ryan Stinnett
34e2979f98 Add Modular server config screen 2019-01-28 17:32:56 -06:00
J. Ryan Stinnett
c914db53ca Remove unused component ref 2019-01-28 16:52:10 -06:00
J. Ryan Stinnett
d96e814a92 Add link to edit server details 2019-01-28 16:13:19 -06:00
J. Ryan Stinnett
398ded4a91 Switch to two phase login 2019-01-28 14:58:21 -06:00
J. Ryan Stinnett
b1f698586e Style SSO login like a button 2019-01-28 08:52:20 -06:00
J. Ryan Stinnett
306380d647 Update HS / IS URLs when changing server types 2019-01-28 08:52:20 -06:00
J. Ryan Stinnett
cd280ca79f Username is one word 2019-01-28 08:52:20 -06:00
J. Ryan Stinnett
350c24c503 Initial wiring of server type selector 2019-01-28 08:52:20 -06:00
J. Ryan Stinnett
fa4ad21e0a Remove dead code for !withToggleButton in ServerConfig 2019-01-28 08:52:20 -06:00
J. Ryan Stinnett
20b7debcaf Remove support for team servers 2019-01-25 16:13:30 -06:00
David Baker
ade43c4e5b Lint 2019-01-24 17:19:04 +00:00
David Baker
4bcb9f12d4 Add target="_blank" to links that don't have it
This is now more of a problem in the Electron app because of
https://github.com/electron/electron/issues/8841 but is still
annoying in the webapp if you're taken away from your chat client.

Exception is the SSO link, as commented (issue filed at
https://github.com/vector-im/riot-web/issues/8247).

Fixes https://github.com/vector-im/riot-web/issues/8226
2019-01-24 16:19:18 +00:00
J. Ryan Stinnett
41c79a93c0
Merge pull request #2489 from jryans/auth-text-and-links
Update text and links in authentication flows
2019-01-23 18:40:55 -06:00
J. Ryan Stinnett
dccc9dc42f Fix linting error 2019-01-23 18:11:34 -06:00
J. Ryan Stinnett
9f5f552be1 Move LanguageSelector to views
It's too simple to be called a structure.
2019-01-23 16:14:03 -06:00
J. Ryan Stinnett
f4bbfc4aeb Remove unneeded style from forgot password 2019-01-23 15:50:44 -06:00
J. Ryan Stinnett
df76a312c2 Add header text to forgot password 2019-01-23 15:50:44 -06:00
J. Ryan Stinnett
8241f09b12 Update registration header text 2019-01-23 15:50:44 -06:00
J. Ryan Stinnett
f069833ad9 Update text to change auth flows 2019-01-23 15:50:44 -06:00
J. Ryan Stinnett
9b3d674a92 Rename links for changing auth flow 2019-01-23 15:50:44 -06:00
J. Ryan Stinnett
e0e873d0a8 Remove create account from forgot password 2019-01-23 15:50:44 -06:00
J. Ryan Stinnett
2f89af4fa0 Update login header text 2019-01-23 15:50:44 -06:00
J. Ryan Stinnett
05254f0e82 Tweak language selector to match design 2019-01-23 10:18:06 -06:00
J. Ryan Stinnett
f9793fa567 Extract language selector styles 2019-01-23 10:18:06 -06:00
J. Ryan Stinnett
36ebd91f07 Move language selector to auth header 2019-01-23 10:18:06 -06:00
J. Ryan Stinnett
575cd1e37b Add modal look to authentication flows
This changes the auth screens to use the modal-like style of the redesign.

This does not attempt to style the actual body content of each screen.  Instead,
it covers the header area with logo, footer links, and overall modal container
only.
2019-01-22 20:44:49 -06:00
J. Ryan Stinnett
1d01ac398c Rename mx_Login_box to mx_AuthPage_modal and fold into AuthPage 2019-01-21 19:11:43 -06:00
J. Ryan Stinnett
3bd765f63f Rename LoginPage, Header, Footer views to Auth* 2019-01-21 19:11:43 -06:00
J. Ryan Stinnett
29be3ee4b5 Rename login directory to auth 2019-01-21 17:45:55 -06:00