Commit graph

635 commits

Author SHA1 Message Date
Travis Ralston
5adfc09237 Bring in TabbedView nearly verbatim from prior work
Sourced from https://github.com/matrix-org/matrix-react-sdk/pull/1644 and related PRs.
2019-01-21 16:51:43 -07:00
Travis Ralston
0e42c0892e Early modalization of UserSettings
Basically just shove it into a modal and call it good.
2019-01-21 16:51:43 -07:00
J. Ryan Stinnett
29be3ee4b5 Rename login directory to auth 2019-01-21 17:45:55 -06:00
J. Ryan Stinnett
989227d435 Fix line length lint warnings
I am about to run some code replacements that might make lines too long, so with
this change I know we're starting from 0 line length warnings.
2019-01-17 22:06:49 -06:00
Bruno Windels
8c30d05eb8 Revert "Merge pull request #2348 from matrix-org/bwindels/roomgridview-experimental"
This reverts commit ece5cb1fcc, reversing
changes made to 64a3d2521c.
2019-01-17 10:29:37 +01:00
David Baker
5c9d41d96b Lint 2019-01-11 13:42:40 +00:00
David Baker
d87d00e4ae Different dialog for new trusted backup
Split the 'new recovery method' into two cases: one where the new
recovery method isn't trusted and you need to verify the device, and
another where it is and the client is using it (where it's more of
an FYI).

https://github.com/vector-im/riot-web/issues/8069
2019-01-11 13:15:09 +00:00
J. Ryan Stinnett
35af3fc6f7 Add separate dialog for recovery method removed
The "New Recovery Method" dialog would show if either the recovery method had
been changed or removed, but the dialog text didn't make much sense for the
removed case.

This adds a separate dialog customized for the removed case.

Fixes https://github.com/vector-im/riot-web/issues/8046.
2019-01-10 15:18:57 -06:00
Bruno Windels
290dc9d8fb Merge branch 'experimental' into bwindels/roomgridview-experimental 2019-01-07 14:17:57 +01:00
Travis Ralston
643dd5ca47 Add a comment explaining the reason for setting the LOGGED_IN view 2019-01-03 16:26:09 -07:00
Travis Ralston
2e5b3ec0f1 Use the safer way to set the logged in view state 2019-01-03 16:25:55 -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
8017f0a4a1 Merge remote-tracking branch 'origin/experimental' into travis/develop-for-real 2019-01-03 16:00:23 -07:00
David Baker
f928be6f59 Revert "Merge pull request #2395 from matrix-org/dbkr/merge_develop_experimental"
This reverts commit ad47144355.
2019-01-03 15:37:03 -07:00
Travis Ralston
0978687c65 Revert "Merge pull request #2383 from matrix-org/travis/back-button"
This reverts commit 78592286bd.
2019-01-03 15:36:51 -07:00
Travis Ralston
e5192811a1 Add a comment explaining the reason for setting the LOGGED_IN view 2019-01-03 14:23:27 -07:00
Travis Ralston
7904b91b58 Use the safer way to set the logged in view state 2019-01-03 14:23:26 -07:00
Travis Ralston
35c9dce241 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 12:13:41 -07:00
David Baker
7d161de35b Partial merge of develop to experimental
Does not include #2336 as the file has been moved out from underneath it:
will do this separately
2019-01-03 15:02:58 +00:00
J. Ryan Stinnett
acc2e98355 Add New Recovery Method dialog
Adds a New Recovery Method dialog which is shown when key backup fails because
of a version mismatch / version not found error.

The set up button in the dialog currently only marks a device as verified (via a
verification prompt) instead of the eventual restore and cross-sign flow, since
those pieces don't exist yet.

Signed-off-by: J. Ryan Stinnett <jryans@gmail.com>
2018-12-18 10:20:12 +00:00
Bruno Windels
b7c353d0a6 persist and load collapsed rhs globally 2018-12-17 15:56:35 +01:00
Bruno Windels
f7b6e9c6fc name collapsedRhs consistently everywhere 2018-12-17 15:30:39 +01:00
Bruno Windels
510cec1ebf disabling setting theme without breaking the build 2018-12-17 12:49:38 +01:00
Bruno Windels
649910139a disable setting theme completely 2018-12-17 12:27:42 +01:00
Travis Ralston
366f343432
Merge pull request #2327 from matrix-org/travis/well-known-improvements
Introduce a default_server_name for aesthetics and rework .well-known
2018-12-13 14:55:04 -07:00
Travis Ralston
5f434cd31c Don't break the UI when something goes wrong 2018-12-13 14:45:08 -07:00
Bruno Windels
1810c17d24 remove trace, add comment, ... 2018-12-13 13:02:35 +01:00
Bruno Windels
cf0f75cad4 allow changing active room in grid by clicking it 2018-12-13 13:01:59 +01:00
Bruno Windels
399d3c5c24 wire up view_group_grid action from community context menu to new view 2018-12-13 13:01:59 +01:00
Richard van der Hoff
36dd43f734 Avoid preserving HS url at logout
When I was talking to Matthew about this the other day, we couldn't think of a
good reason why we should preserve the HS URL at logout. It introduces the
problem that, if a client is redirected after login as per MSC1730, and then
you log out, you'll then get a login screen for the wrong server.

So basically there's no reason to have an mx_hs_url/mx_is_url without an access
token, and we can remove the stuff which preserves it, and the stuff that
attempts to restore it.
2018-12-10 14:44:12 +00: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
David Baker
8ac62f8c12 Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups 2018-10-29 16:20:45 +00:00
David Baker
b59b8b7fca Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups 2018-10-25 17:42:46 +01:00
Travis Ralston
d7367a7cfd Merge branch 'develop' into travis/permalink-routing 2018-10-24 09:12:14 -06:00
Travis Ralston
8ff1da11ed
Merge pull request #2237 from aaronraimist/camel-case
lint: make colorScheme camel case
2018-10-22 22:44:14 -06:00
Aaron Raimist
4b3c865959
lint: make colorScheme camel case
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-22 23:07:47 -05:00
Aaron Raimist
41bd6e4366
Change leave room button text, OK -> Leave
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-22 20:55:24 -05:00
Travis Ralston
7383133846 Support parsing matrix.to links in the timeline with ?via= in them
This ends up being translated to ?server_name= in the matrix-js-sdk, although that has a bug at the time of writing. It converts `server_name: ['a', 'b']` to `?server_name=a,b` instead of `?server_name=a&server_name=b`

For reference: the `viaServers` option is routed through the 'join_room' action to RoomViewStore#_joinRoom which is passed directly to the js-sdk http-api#joinRoom function.

Next steps:
* Fix the js-sdk parsing
* Make the SDK generate matrix.to links with ?via=
2018-10-19 13:31:18 -06:00
Travis Ralston
6323d78b0c Move tinter init to MatrixChat
This is a much better place for it to live
2018-10-15 14:41:00 -06:00
David Baker
655627209a unused function 2018-10-10 17:25:32 +01:00
David Baker
0abcb5c78d Handle InvalidStoreError from js-sdk
js-sdk now emits sync state ERROR with an InvalidStoreError if the
store needs to be cleared before it can be used.

Requires https://github.com/matrix-org/matrix-js-sdk/pull/759
2018-10-10 17:07:17 +01:00
David Baker
387128ed1e Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups 2018-10-05 14:01:50 +01:00
David Baker
a81589ffb5 Silence bluebird warnings 2018-10-05 12:15:03 +01:00
David Baker
fa30707eae Merge remote-tracking branch 'origin/develop' into dbkr/e2e_backups 2018-10-02 16:59:15 +01:00
Travis Ralston
a1cb6d64cf
Merge pull request #2182 from matrix-org/travis/warn-disconnect-early
Show the 'homeserver unavailable' warning when the first sync fails
2018-09-28 07:55:07 -06:00
Bruno Windels
5765d59132
Merge pull request #2083 from matrix-org/t3chguy/is_url
allow passing initial is_url like hs_url in query params
2018-09-28 13:20:50 +01:00
Travis Ralston
16b2fb7fe6 Show the 'homeserver unavailable' warning when the first sync fails
Fixes https://github.com/vector-im/riot-web/issues/7380
2018-09-27 14:31:55 -06:00
David Baker
5ba45a71e8 Remove SuggestKeyRestoreHandler
Didn't end up using it for this iteration
2018-09-18 15:32:33 +01:00
David Baker
292b1f09af WIP e2e key backups
Continues from Matthew's work: adds a feature flag & panel in
user settings to create a backup.

Can't restore a backup yet, nor even continue backing up to the same
backup after a refresh.
2018-09-13 17:11:46 +01:00