Commit graph

92 commits

Author SHA1 Message Date
Travis Ralston
d8f6a7c684 Add missing stopPropagation 2019-01-03 16:26:01 -07:00
Travis Ralston
8f5e825cd5 Fix browser navigation not working between /home, /login, /register, etc
All of the anchors were pointed at `#` which, when clicked, would trigger a hash change in the browser. This change races the change made by the screen handling where the screen handling ends up losing. Because the hash is then tracked as empty rather than `#/login` (for example), the state machine considers future changes as no-ops and doesn't do anything with them.

By using `preventDefault` and `stopPropagation` on the anchor click events, we prevent the browser from automatically going to an empty hash, which then means the screen handling isn't racing the browser, and the hash change state machine doesn't no-op.

After applying that fix, going between pages worked great unless you were going from /login to /home. This is because the MatrixChat state machine was now out of sync (a `view` of `LOGIN` but a `page` of `HomePage` - an invalid state). All we have to do here is ensure the right view is used when navigating to the homepage. 

Fixes https://github.com/vector-im/riot-web/issues/4061

Note: the concerns in 4061 about logging out upon entering the view appear to have been solved. Navigating to the login page doesn't obliterate your session, at least in my testing.
2019-01-03 16:25:51 -07:00
Travis Ralston
5f434cd31c Don't break the UI when something goes wrong 2018-12-13 14:45:08 -07:00
Travis Ralston
a969237dc0 Disable the submit button while .well-known is underway
To give the user a little feedback about something happening. This definitely needs to be improved in the future though.
2018-12-07 15:37:20 -07:00
Travis Ralston
6707186edc Change how the default server name and HS URL interact
They are now independent of each other. If both are specified in the config, the user will see an error and be prevented from logging in. The expected behaviour is that when a default server name is given, we do a .well-known lookup to find the default homeserver (and block the UI while we do this to prevent it from using matrix.org while we go out and find more information). If the config specifies just a default homeserver URL however, we don't do anything special.
2018-12-07 15:36:49 -07:00
Travis Ralston
633be5061c Introduce a default_server_name for aesthetics and rework .well-known
Fixes https://github.com/vector-im/riot-web/issues/7724

The `default_server_name` from the config gets displayed in the "Login with my [server] matrix ID" dropdown when the default server is being used. At this point, we also discourage the use of the `default_hs_url` and `default_is_url` options because we do an implicit .well-known lookup to configure the client based on the `default_server_name`. If the URLs are still present in the config, we'll honour them and won't do a .well-known lookup when the URLs are mixed with the new server_name option. Users will be warned if the `default_server_name` does not match the `default_hs_url` if both are supplied. Users are additionally prevented from logging in, registering, and resetting their password if the implicit .well-known check fails - this is to prevent people from doing actions against the wrong homeserver.

This relies on https://github.com/matrix-org/matrix-js-sdk/pull/799 as we now do auto discovery in two places. Instead of bringing the .well-known out to its own utility class in the react-sdk, we might as well drag it out to the js-sdk.
2018-12-04 23:34:57 -07:00
Travis Ralston
015af7d771 Use sensible logging 2018-11-27 13:41:34 -07:00
Travis Ralston
5600a9d02a Validate the identity server 2018-11-21 14:14:08 -07:00
Travis Ralston
4cfefe4c3c Introduce an onUsernameBlur and fix hostname parsing 2018-11-21 14:13:56 -07:00
Travis Ralston
6f0f930e0a Merge branch 'develop' into travis/well-known 2018-11-21 13:30:57 -07:00
Richard van der Hoff
90f22c7b43 Support for m.login.sso
Adds support for the m.login.sso login type, which is handled the same way as
CAS, and also makes it look a bit nicer.
2018-11-15 19:05:39 +00:00
Travis Ralston
71a97170d7 Linting 2018-10-18 17:06:47 -06:00
Travis Ralston
0030ba7015 Support .well-known discovery
Fixes https://github.com/vector-im/riot-web/issues/7253
2018-10-18 16:42:54 -06:00
David Baker
8567ce585b Factor out duplication of resource limit i18n 2018-08-16 13:31:17 +01:00
David Baker
9bde468e30 Shift to M_RESOURCE_LIMIT_EXCEEDED errors
With support for admin_contact and limit_type fields

For https://github.com/vector-im/riot-web/issues/7091
2018-08-15 17:03:54 +01:00
David Baker
cc58b06226 Support montly active user limit error on /login
The 'contact your service administrator' should be a link but we
don't have this info from the HS yet.
2018-08-02 14:25:17 +01:00
Michael Telatynski
15e75ca7b3
generate local errors for blank fields during login
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-23 17:12:00 +01:00
Michael Telatynski
548a06cad2
use JSX and import via sdk rather than directly
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-22 14:47:57 +01:00
Michael Telatynski
f32da97a3a
delint and run generate-eslint-error-ignore-file
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-21 14:04:08 +01:00
Michael Telatynski
58be44ad9e
factor out conditional LanguageSelector as functional component
and reuse in Login, ForgotPassword and Registration views

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-21 13:51:39 +01:00
Travis Ralston
e690bcb6ef Replace "Login as guest" with "Try the app first" on login page
Fixes vector-im/riot-web#5875

Signed-off-by: Travis Ralston <travpc@gmail.com>
2018-05-26 20:54:19 -06:00
Luke Barnard
493116b17e Give the login page its spinner back 2018-02-13 11:43:22 +00:00
lukebarnard
45ad46b468 Fix HS/IS URL reset when switching to Registration 2018-02-07 15:58:29 +00:00
Aidan Gauland
35780f5ae0 Remove use of deprecated React.PropTypes
Replace all uses of React.PropTypes with PropTypes and importing PropTypes from
'prop-types'.
2017-12-26 14:03:18 +13:00
Richard van der Hoff
8be3862e68 Merge branch 'master' into develop 2017-11-28 10:29:40 +00:00
Richard van der Hoff
80b8cbb473 Ignore unrecognised login flows
Update the Login component so that if it sees an unrecognised login flow, it
just ignores it and uses another one, so that riot can still be used with
homeservers supporting custom login types.
2017-11-27 16:47:49 +00:00
Luke Barnard
dad797d4a2 Run linting --fix 2017-11-16 13:19:36 +00:00
Stefan Parviainen
2c1618bc10 Fix conflict and update strings
Signed-off-by: Stefan Parviainen <pafcu@iki.fi>
2017-11-15 20:40:51 +01:00
Travis Ralston
bd4102eb3d Merge branch 'develop' into travis/granular-settings 2017-11-14 19:12:48 -07:00
Matthew Hodgson
8c218557df fix disable_custom_urls 2017-11-14 15:17:50 +00:00
Travis Ralston
d92cba25ef Use the SettingsStore to get the theme
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-13 13:14:00 -07:00
Travis Ralston
0648b3eae7 Merge branch 'develop' into travis/granular-settings 2017-11-13 12:29:36 -07:00
Stefan Parviainen
3afbaf61e7 Refactor i18n stuff a bit 2017-11-13 20:19:33 +01:00
Matthew Hodgson
2827bc0718 replace some of the status.im theme with general config options 2017-11-11 23:46:43 +00:00
Travis Ralston
8282534f87 Add SettingsLevel enum; Move settings to own file.
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-03 23:19:45 -06:00
Travis Ralston
0d3f0eaf98 Convert local settings to granular settings
This breaks language selection.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-29 16:53:00 -06:00
Matthew Hodgson
5d0629ff73 resolve matrix.status.im v. matrix.org confusion 2017-10-27 14:23:16 +01:00
Matthew Hodgson
655d0c615a remove spurious Sign In button and legacy Return to App buttons 2017-10-26 17:57:49 +01:00
Matthew Hodgson
ae40ef4460 fix error layouts 2017-10-25 02:18:14 +01:00
Matthew Hodgson
67cc02df3b hide header when error is up 2017-10-25 01:37:06 +01:00
Matthew Hodgson
26e8b2c1b3 switch to a LoginPage wrapper component
as it's much nicer in the CSS to wrap the LoginBox as needed rather than have separate header & footer divs floating above and below it which need to be correctly vertically centered
2017-10-24 23:37:26 +01:00
Matthew Hodgson
f09fbccc19 WIP 2017-10-23 00:56:15 +01:00
Luke Barnard
d3f9a3aeb5 Run eslint --fix
Fixing 1000s of lint issues. Some rules cannot be `--fix`ed but this goes some way to linting the entire codebase.
2017-10-11 17:56:17 +01:00
David Baker
92be3af990 Make it clearer which HS you're logging into
Otherwise there's no indication without clicking 'custom server'
2017-10-10 19:16:42 +01:00
Marcel
60c1ba4f4d Add LanguageDropdown to LoginPage (#1284) 2017-08-10 13:29:10 +01:00
Richard van der Hoff
67372d4fed Give Login an unmounted guard 2017-07-11 17:04:19 +01:00
David Baker
5e55b6a643 PR feedback 2017-06-08 16:23:43 +01:00
David Baker
9def0bb5c2 Oops, fix email check 2017-06-08 16:08:19 +01:00
David Baker
8dc20606c8 Use comma for list of three things 2017-06-08 16:07:29 +01:00
David Baker
d691c891e7 Move all login error string generation into view
This makes all the various hits done by login report the same
useful error messages and gets rid of the broken ones like printing
the http status code even if it was undefined. Also add text for
the case of overzealous browser extensions because lots of people
get bitten by it.
2017-06-08 15:49:48 +01:00