Commit graph

841 commits

Author SHA1 Message Date
Travis Ralston
7407950c75 Always return a client from onRegistered
Fixes https://github.com/vector-im/riot-web/issues/9406

The return value of onRegistered eventually ends up in the pusher setup, which means we were passing undefined through the stack.
2019-04-08 12:49:14 -06:00
David Baker
a04c15d131 consistent comments 2019-04-08 19:10:20 +01:00
David Baker
670f6e4f99 Simplify settings dialog CSS
Stop the settings dialogs from requiring special styles on the
mx_Dialog which required passing in a classname from anywhere the
settings dialogs were opened (although this still requires
static=true). Some of the things have now been adopted for all dialogs
(border-radius), others have been moved to within the dialog content.
2019-04-08 16:48:42 +01: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
J. Ryan Stinnett
6e79cbc092 Delay Notifier check until we have push rules
The `Notifier` class expects push rules to be available, so it can explode in
strange ways if called too early. This changes to wait until the sync is in the
`PREPARED` state (when push rules should be ready) before using the `Notifier`.

Fixes https://github.com/vector-im/riot-web/issues/9323
2019-03-29 15:19:39 +00:00
Bruno Windels
a326c83016
Merge pull request #2842 from matrix-org/bwindels/bacat-scrolling-merged-develop
BACAT Scrolling
2019-03-29 14:02:15 +00:00
Bruno Windels
f157838864 dispatch supports async dispatching on its own 2019-03-29 14:32:26 +01:00
Bruno Windels
adf263c4af Merge branch 'develop' into bwindels/bacat-scrolling-merged-develop 2019-03-27 11:46:28 +01:00
Travis Ralston
d8edf2e3fb Handle all the segments of a v3 event ID
They may contain slashes, so it is not suitable to just pull the first segment after the room ID. Instead, we just recompile the event ID from known source, assuming everything afterwards is an event ID.

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

This will need adapting to support https://github.com/vector-im/riot-web/issues/9149
2019-03-25 23:02:49 -06:00
Travis Ralston
79ea873717
Merge pull request #2820 from matrix-org/travis/timeline-explosion-workaround
Ask the user for debug logs when the timeline explodes
2019-03-25 12:09:16 -06:00
Travis Ralston
e5f7563dec Ask the user for debug logs when the timeline explodes
Fixes https://github.com/vector-im/riot-web/issues/9260
Workaround for https://github.com/vector-im/riot-web/issues/8593
Requires https://github.com/matrix-org/matrix-js-sdk/pull/869

We check if any dialogs are open before moving forward because we don't want to risk showing so many dialogs that the user is unable to click a button. We're also not overly concerned if the dialog being shown is irrelevant because whatever the user is doing will likely be unaffected, and we can scream in pain when they're finished.
2019-03-22 20:23:35 -06:00
Travis Ralston
389abed574 Define a title for generic error 2019-03-22 19:03:52 -06:00
Travis Ralston
4fd48988e9 Check for any errors leaving the room, not just the top level 2019-03-22 17:39:42 -06:00
Travis Ralston
a34a8bb425 Use leaveRoomChain when leaving a room
Requires https://github.com/matrix-org/matrix-js-sdk/pull/868
Fixes https://github.com/vector-im/riot-web/issues/8539

We don't need to use leaveRoomChain when rejecting invites because we won't have the references needed. This leaves the couple spots where we do actually leave a room, and use the new function for that.
2019-03-22 17:36:54 -06:00
Bruno Windels
4795625cee emit resize event when banners are shown/hidden to restore scroll pos 2019-03-15 10:16:21 +01:00
Bruno Windels
1bdbf3086f emit timeline_resize in MatrixChat based on ResizeNotifier
as it's used in PersistentElement which could be used at various places
2019-03-15 10:16:21 +01:00
Bruno Windels
891e343df6 create ResizeNotifier to derive which areas of the app resize and emit 2019-03-15 10:16:21 +01:00
Travis Ralston
0e16f3a0cc Don't trample over existing sessions when verifying email addresses
Fixes https://github.com/vector-im/riot-web/issues/6875

Instead of overwriting what we have, we'll load the session we have and try to warn the user that they have verified an address for someone else.
2019-03-07 17:09:47 -07:00
Travis Ralston
0978ab3da0 Support stacking dialogs to prevent unmounting
Fixes https://github.com/vector-im/riot-web/issues/8371
2019-02-28 15:55:58 -07: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
Bruno Windels
ab9bf4c0e0
Merge pull request #2666 from matrix-org/bwindels/userview
Bring back user view
2019-02-21 16:05:03 +01:00
Bruno Windels
d9b8b0f988 fix indentation 2019-02-21 10:51:09 +01: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
Bruno Windels
f11505a9de bring back user page
Adds a UserView that contains a MainSplit with an empty div
and a RightPanel, preset to the given member.

UserView fetches the profile and creates a fake member, which
it passed on to the RightPanel.

this doesn't use the view_user action on purpose, to avoid any
interference of the UserView when trying to view a room member.
2019-02-20 12:45:55 +01:00
David Baker
b242d03f7f lint 2019-02-14 12:52:38 +00:00
David Baker
e5e355ed2d Remove the white screen of welcome
If there's no home page configured, view the first room.
2019-02-14 12:35:09 +00:00
J. Ryan Stinnett
f5e56708d5 Re-enable dynamic theme changes 2019-02-13 10:44:01 +00:00
J. Ryan Stinnett
4101d4e9de Always change to LOGGED_IN view to show a room 2019-02-11 14:19:05 +00:00
J. Ryan Stinnett
477d5ac0dc View welcome behind modals when not showing logged in view 2019-02-11 13:31:27 +00:00
J. Ryan Stinnett
5977859dd9 Call isGuest correctly 2019-02-08 18:28:39 +00:00
J. Ryan Stinnett
5701bf89de Direct some flows to the welcome page 2019-02-08 12:12:43 +00:00
J. Ryan Stinnett
843f86fc1c Add separate welcome view 2019-02-07 16:25:09 +00:00
Travis Ralston
b2c161c7c1 Merge branch 'develop' into travis/settings/delete-the-old 2019-02-06 11:02:21 -07:00
J. Ryan Stinnett
6549ae1ce5 Remove unused props from login 2019-02-05 16:11:32 +00:00
J. Ryan Stinnett
a73e3dcd4c Remove unused props from registration 2019-02-05 07:11:29 +00:00
Travis Ralston
eac50aa800 Remove old user and room settings
This takes out the old user and room settings, replacing the paths with the new dialog editions. The labs setting has been removed in order to support this change.

In addition to removing the old components outright, some older components which were only used by the settings pages have been removed. The exception is the ColorSettings component as it has a high chance of sticking around in the future.

Styles that were shared by the settings components have been broken out to dedicated sections, making it easier to remove the old styles entirely.

Some stability testing of the app has been performed to ensure the app still works, however given the scope of this change there is a possibility of some broken functionality.
2019-02-04 13:40:21 -07:00
Travis Ralston
728748c9cd Disable old settings, making tabbed settings the default
This is intentionally not removing the labs flag or other supporting structures of the old settings to make a revert as easy as possible in the event that needs to happen. All of the cruft left behind (TempTab, temp styles, labs flag, old components, etc) will be removed in the very near future.
2019-02-01 10:29:13 -07: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
Bruno Windels
0450f43267 clarify how lhs collapsed state is stored 2019-01-31 10:19:05 +01:00
Travis Ralston
190b763c5d Render the home page when viewing the directory
The only time this happens is if someone goes to #/directory without previously visiting a page (ie: fresh landing).
2019-01-29 23:25:07 -07:00
Bruno Windels
855dbd7d2b Merge branch 'experimental' into bwindels/roomdirectory-makeover 2019-01-29 18:33:03 +01:00
Bruno Windels
7c0f463c91 fix lint 2019-01-29 15:40:19 +01:00
Bruno Windels
9f1b4ac4cc room directory makeover 2019-01-29 15:34:58 +01:00
Travis Ralston
db34666583 Implement leave room button and URL preview settings 2019-01-28 13:54:56 -07:00
David Baker
b4f02844a8 Merge remote-tracking branch 'origin/experimental' into dbkr/sas 2019-01-28 09:36:39 +00:00
J. Ryan Stinnett
20b7debcaf Remove support for team servers 2019-01-25 16:13:30 -06:00
Travis Ralston
5dc75e2d3c Have the settings dialog be fixed in size
This also brings out some classes that aren't solely applicable to the user settings and will be applicable to the room settings as well.
2019-01-24 19:12:09 -07:00
J. Ryan Stinnett
e0e873d0a8 Remove create account from forgot password 2019-01-23 15:50:44 -06:00
David Baker
6a90625d36 Merge remote-tracking branch 'origin/experimental' into dbkr/sas 2019-01-23 17:32:18 +00:00
Travis Ralston
5ef9015133 Add labs flag for tabbed settings 2019-01-22 10:28:33 -07:00
Travis Ralston
a488304410 Appease the linter
Appease the linter round 2

Appease the linter round 3

Appease the linter round 4

Appease the linter round 5
2019-01-21 18:41:49 -07:00
Travis Ralston
a8ec40a8b0 Add a temporary tab for visiting the old settings
For debugging purposes
2019-01-21 16:51:43 -07:00
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
David Baker
970880737e Merge remote-tracking branch 'origin/experimental' into dbkr/sas 2019-01-18 18:33:11 +00: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
1d2538a7bc First working version of SAS 2019-01-15 18:08:13 +00: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
David Baker
f62e92a07b Merge remote-tracking branch 'origin/develop' into matthew/e2e_backups 2018-09-11 11:37:22 +01:00
David Baker
fa669bf096 Error on splash screen if sync is failing
Display an error on the splash screen with the spinner if the sync
request is not working, rather than just sitting there with a spinner
as if nothing is wrong.

Fixes https://github.com/vector-im/riot-web/issues/7148
2018-09-07 12:18:25 +01:00
David Baker
27fa21e403 Replace view_set_mxid with require_registration
To put all the other flows through the to-ilag-or-not-to-ilag flow
2018-09-05 18:08:49 +01:00
David Baker
a042f4d0af Do full registration if HS doesn't support ILAG
ILAG only works on HSes that allow registering without an email
address, so whenever we redirect to the ILAG flow, check what
registration flows the server supports, and if it doesn't offer one
that's ILAG-compatible, prompt the user to go through the full
registration process instead.

This doesn't change all the entry points into ILAG, I'll do that
in a separate commit.
2018-09-05 17:07:39 +01:00
Bruno Windels
5c395e4db7 wait for room creation, to go to home page in case of failure 2018-09-04 14:26:36 +02:00
David Baker
8fd7c4a66b Merge remote-tracking branch 'origin/develop' into matthew/e2e_backups 2018-08-24 14:07:16 +01:00
Bruno Windels
07083e61b7
Merge pull request #2058 from matrix-org/t3chguy/hide_logout_warning_whilst_logging_out
while logging out ignore `Session.logged_out` as it is intentional
2018-08-07 10:31:29 +02:00
Michael Telatynski
923de17b91
allow passing initial is_url like hs_url in query params
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-24 16:10:46 +01:00
Michael Telatynski
ffe0b35504
while logging out ignore Session.logged_out as it is intentional
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-15 22:33:00 +01:00
Luke Barnard
5af8ddcf10 Fix import 2018-07-06 11:00:39 +01:00
Luke Barnard
d53c836fd7 Implement aggregation by error type for tracked decryption failures 2018-07-05 13:54:44 +01:00
Luke Barnard
0dd3a77432 Track an event name when tracking a decryption failure
Otherwise piwik will not agregate the failures correctly for all views.
2018-07-02 09:45:32 +01:00
Luke Barnard
01dd387970 Track UISIs in bulk
Piwik supports sending an event value, which we can use to indicate
cardinality of UISIs to be tracked instead of tracking them individually.

This means we can track them at a lower frequency of (fairly arbitrary)
60s.
2018-06-28 15:07:27 +01:00
David Baker
210d920a92
Merge pull request #1949 from matrix-org/luke/track-uisis-piwik
Track decryption success/failure rate with piwik
2018-06-18 10:12:26 +01:00
Luke Barnard
b0a2772889 Use more consistent start/stop pattern 2018-06-15 17:58:43 +01:00
Luke Barnard
488cc416cf For now, shelve persistance across sessions 2018-06-15 17:08:11 +01:00
Luke Barnard
7489d7d531 Fix incorrect call to DFT 2018-06-15 16:50:52 +01:00
Luke Barnard
f08274585e Persist tracked event ID hash using localStorage 2018-06-15 15:30:54 +01:00
Luke Barnard
cfe52a2888 Instead of passing dft.eventDecrypted, call it instead
So that `this` has the correct reference.
2018-06-15 15:15:05 +01:00
Luke Barnard
62601d657d Implement DecryptionFailureTracker for less agressive tracking
Instead of pinging Analytics once per failed decryption, add the failure
to a list of failures and after a grace period, add it to a FIFO for
tracking. On an interval, track a single failure from the FIFO.
2018-06-15 13:42:18 +01:00
Luke Barnard
3cadbd3974 Include decryption error in decryption failure metrics 2018-06-13 11:21:26 +01:00
Luke Barnard
230de44071 Adjust comment 2018-06-13 09:38:57 +01:00
Luke Barnard
64b86108d0 Only track decryption failures 2018-06-13 09:38:23 +01:00
Michael Telatynski
175f1aa15c
don't set the displayname on registration as Synapse now does it
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-12 16:43:54 +01:00
Luke Barnard
0934006817 Track decryption success/failure rate with piwik
Emit a piwik event when a decryption occurs in the category "E2E" with
the action "Decryption result" and the name either "failure" or
"success".

NB: This will cause Riot to a lot of networking when decrypting many
events. One HTTP request per decrypted event should be expected.
2018-06-12 14:13:09 +01:00
David Baker
bea99e07b3
Merge pull request #1940 from matrix-org/luke/exit_settings
Fix click on faded left/right/middle panel -> close settings
2018-06-05 10:36:58 +01:00
Luke Barnard
6a317569d7 Add null-guard to support browsers that don't support performance
Like Tor.

Fixes https://github.com/vector-im/riot-web/issues/6781
2018-06-04 09:38:21 +01:00
Luke Barnard
404c071f2a Remove lie from docs 2018-05-29 13:19:56 +01:00
Luke Barnard
da9fe9917b Fix click on faded left/right/middle panel -> close settings
- implement generic dispatch to close user/room/group settings
 - use dispatch to allow clicks on disabled left/right/middle panel to
   close settings

A much more maintainable approach would be to use dedicate routing
instead of doing different things depending on what page of the app is
currently being viewed. At the very least we could make the concept of a
settings page generic.
2018-05-29 13:16:39 +01:00
Matthew Hodgson
25216d4660 Merge branch 'develop' into matthew/e2e_backups 2018-05-28 00:46:05 +01:00
David Baker
168b956b3c homeserver 2018-05-24 17:01:00 +01:00
David Baker
9d2f223773 Message for leaving server notices room 2018-05-24 16:54:48 +01:00
Luke Barnard
658e88c30f Implement consent/terms and conditions dialog for /_matrix/consent flow 2018-05-22 18:03:56 +01:00
David Baker
ae10491f95 Space between sentences in 'leave room' warning 2018-05-22 09:28:41 +01:00
Luke Barnard
ac1cd384e7 Implement opt-in analytics with cookie bar 2018-05-16 15:20:38 +01:00
Luke Barnard
22f2d6f292 Fix crash when browser doesn't report page change measurement 2018-05-03 14:08:10 +01:00
David Baker
0c309c88ad Bluebird has no need for your .done() 2018-04-27 17:52:25 +01:00
David Baker
0323f8ed0c Wrap exception handling around all of loadSession
The user might (probably does) have a session even if we haven't actually tried
to load it yet, so wrap the whole loadSession code in the error handler we were
using for restoring sessions so we gracefully handle exceptions that happen
before trying to restore sessions too.

Remove the catch in MatrixChat that sent you to the login screen.  This is
never the right way to handle an error condition: we should only display the
login screen if we successfully determined that the user has no session, or
they explicitly chose to blow their sessions away.
2018-04-27 11:25:13 +01:00
Luke Barnard
665e052596 Allow debugging of unhandled login errors 2018-04-26 15:09:17 +01:00
Luke Barnard
00167fbc06 Init page change state in willMount 2018-03-28 11:25:28 +01:00
Luke Barnard
c8312dd5ae Use a less fragile API to track page change performance 2018-03-28 10:25:28 +01:00
Luke Barnard
69d9080dd5 Track duration of page changes
The duration measured is between
 - componentWillUpdate of MatrixChat and
 - componentDidUpdate of MatrixChat.

This does not account for *all* changes to the view that occur
when a room switch happens, for example. But it does at least
capture the difference between switching to a "big" room and
switching to a small test room.
2018-03-27 11:17:49 +01:00
David Baker
580b68a1b6
Merge pull request #1652 from pvagner/dialog-a11y
Dialog a11y
2018-03-20 11:35:57 +00:00
David Baker
ba4626521f Remove the message on migrating crypto data
This was for when the new and old versions were available
concurrently on /develop and /app.

The various migration steps are still logged to the console in
js-sdk.
2018-03-15 10:09:12 +00:00
Peter Vágner
410570936a Reimplement setting aria-hidden on the main app node by dispatching actions rather than assuming we can find and manipulate the node directly 2018-02-08 22:51:07 +01:00
lukebarnard
45ad46b468 Fix HS/IS URL reset when switching to Registration 2018-02-07 15:58:29 +00:00
Will Hunt
5206c9d18b Show a warning if the user attempts to leave a room that is invite only 2018-01-19 22:52:43 +00:00
lukebarnard
00dc077271 Remove react-dnd, revert fa14bc9 as no longer needed 2018-01-19 13:34:56 +00:00
Matthew Hodgson
a233af67ea initial pseudocode WIP for e2e online backups 2018-01-15 02:02:48 +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
Matthew Hodgson
fa14bc9b8d don't gutwrench 2017-12-18 22:49:23 +00:00
Matthew Hodgson
e65c67ca15 fix https://github.com/vector-im/riot-web/issues/5841 2017-12-18 22:47:28 +00:00
Luke Barnard
8b11b10531 Avoid NPEs by using ref method for collecting loggedInView in MatrixChat 2017-12-15 15:24:37 +00:00
Luke Barnard
9975941f3c
Merge pull request #1653 from matrix-org/luke/feature-ordered-tag-panel
DnD Ordered TagPanel
2017-12-14 10:36:16 +00:00
David Baker
bb9376098a
Merge pull request #1654 from matrix-org/dbkr/crypto_store_migrate_warning
Warn when migrating e2e data to indexeddb
2017-12-08 16:52:05 +00:00
David Baker
0d38e7510d
Merge pull request #1600 from matrix-org/dbkr/udd_no_auto_show
Don't Auto-show UnknownDeviceDialog
2017-12-08 16:33:25 +00:00
Luke Barnard
8f0774496f Remove redundant MatrixChat 2017-12-08 11:29:21 +00:00
David Baker
aa99b898ce Add that it might not work now either
also a comma
2017-12-06 18:57:48 +00:00
David Baker
4462694438 lint 2017-12-06 16:06:33 +00:00
David Baker
65c210cdde Warn when migrating e2e data to indexeddb 2017-12-06 15:28:20 +00:00
Luke Barnard
7e1f1cdbd9 Move DragDropContext to wrap LoggedInView
Becuase the tests rely on being able to inspect the state of MatrixChat
2017-12-06 15:01:16 +00:00
Luke Barnard
7aa5dcef69 Move DragDropContext to wrap entire app 2017-12-06 13:10:58 +00:00
Luke Barnard
a8594a58e5 Allow guest to see MyGroups, show ILAG when creating a group 2017-11-28 13:32:46 +00:00
Travis Ralston
33a3b07d88 Pull the theme through the default process
This is to ensure the `config` level is respected.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-16 20:52:12 -07:00
David Baker
196eafdc7f Merge remote-tracking branch 'origin/develop' into dbkr/udd_no_auto_show 2017-11-16 15:59:16 +00:00
Luke Barnard
b54e563cb6 Merge branch 'develop' into luke/linting-keyword-spacing 2017-11-16 13:23:42 +00:00
Luke Barnard
dad797d4a2 Run linting --fix 2017-11-16 13:19:36 +00:00
Travis Ralston
022e40a127 Use SettingsStore for default theme
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-15 19:04:49 -07:00
David Baker
f8fc6dc83e Merge remote-tracking branch 'origin/develop' into dbkr/udd_no_auto_show 2017-11-15 12:11:33 +00:00
Matthew Hodgson
060a890275
Merge pull request #1516 from turt2live/travis/granular-settings
Granular settings
2017-11-15 10:55:55 +00:00
Matthew Hodgson
e91e94fd42 fix unstyled CSS bug https://github.com/vector-im/riot-web/issues/5601 2017-11-15 09:56:44 +00:00
Travis Ralston
bd4102eb3d Merge branch 'develop' into travis/granular-settings 2017-11-14 19:12:48 -07:00
Matthew Hodgson
546b062d82 automatically and correctly retint when changing theme 2017-11-15 01:45:51 +00:00
Matthew Hodgson
7c98558b6a fix neglible race when loading CSS 2017-11-14 16:07:48 +00:00
Matthew Hodgson
1fd7ac30e4 turns out i made up the .complete property on link elements 2017-11-14 16:04:11 +00:00
Matthew Hodgson
8d6e3dd27d fix lint 2017-11-14 15:37:03 +00:00
Matthew Hodgson
dcfbe93409 fix race when loading CSS
fixes https://github.com/vector-im/riot-web/issues/5590
2017-11-14 15:28:34 +00:00
Travis Ralston
0648b3eae7 Merge branch 'develop' into travis/granular-settings 2017-11-13 12:29:36 -07:00
Travis Ralston
c5c346f0b7 Merge branch 'develop' into travis/granular-settings 2017-11-13 12:18:41 -07:00
David Baker
0659ac1ccb Merge remote-tracking branch 'origin/develop' into dbkr/udd_no_auto_show 2017-11-13 17:45:57 +00:00
Matthew Hodgson
a0cdaf29f9 Merge remote-tracking branch 'origin/develop' into matthew/status 2017-11-10 15:29:42 -08:00
Luke Barnard
0d174ffe9a Fix tests 2017-11-10 11:13:52 +00:00
Luke Barnard
f4428267a1 Refactor onboarding redirect, add groups to the onboarding starters 2017-11-10 10:51:28 +00:00
David Baker
b1ec430523 Remove now-unused dispatches 2017-11-09 16:09:12 +00:00
David Baker
820d9c1c25 Show staus bar on Unknown Device Error
Don't pop up the dialog as soon as we can't send a message.

Also removes dispatches used to keep the RoomStatusBar up to date.
We can get the same events straight from the js-sdk via the
pending events event.
2017-11-09 15:58:15 +00:00
Travis Ralston
f7da5836e1 Make blacklistUnverifiedDevices override the level order
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-08 17:41:32 -07:00
Matthew Hodgson
58ee4d0a76 rewrite the tinter to be ES6, and correctly cache fixups per theme 2017-11-08 06:55:07 -08:00
Matthew Hodgson
e729bc431d Merge remote-tracking branch 'origin/develop' into matthew/status 2017-11-08 04:29:52 -08:00
Travis Ralston
289b0c2b6a
Merge branch 'develop' into travis/granular-settings 2017-11-07 14:55:12 -07:00
Luke Barnard
36cd22663a Open group settings when the group is created 2017-11-06 18:02:50 +00:00
Travis Ralston
781b94c8f4 Appease the linter
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-05 15:37:06 -07:00
Travis Ralston
10519f9465 Fix the tests
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-05 14:56:41 -07:00
Travis Ralston
3958e32672 Ensure blacklistUnverifiedDevices persists reloads
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-04 20:13:23 -07:00
Matthew Hodgson
68115f5b9c tint when theming correctly 2017-11-05 00:40:38 +00:00