Commit graph

198 commits

Author SHA1 Message Date
Travis Ralston
26b18811ce Add some permission checks to the communities v2 prototype
Prototype behaviour:
* If you can't create a room in the community, say so.
  * The UX for this could probably be improved, but for now the intention is to not break muscle memory by hiding the create room option.
* If you can't change settings in the community, or can't invite people, don't show those respective options.
  * Breaking muscle memory here is moderately okay.
2020-09-18 16:04:19 -06:00
J. Ryan Stinnett
ec4bf0c057
Merge pull request #5219 from matrix-org/jryans/defer-cross-signing-setup
Defer encryption setup until first E2EE room
2020-09-18 10:28:33 +01:00
Michael Telatynski
1e9e0dee87
Merge pull request #5227 from matrix-org/t3chguy/fix/15188
UI Feature Flag: Registration, Password Reset, Deactivate
2020-09-17 13:40:06 +01:00
Michael Telatynski
4213a557f2 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix/15175
 Conflicts:
	src/settings/Settings.ts
	src/settings/UIFeature.ts
2020-09-17 11:58:26 +01:00
Michael Telatynski
d340dd58d1 UI Feature Flag: Registration, Password Reset, Deactivate 2020-09-17 11:55:10 +01:00
Michael Telatynski
4db9ac16b5
Merge pull request #5211 from matrix-org/t3chguy/fix/15173
Hide Analytics sections if piwik config is not provided
2020-09-16 16:34:55 +01:00
J. Ryan Stinnett
46f37fb969 Create cross-signing keys during authentication
With this change, Element now creates cross-signing keys during auth flows for
password login. For other auth flows like token / SSO, it will not happen until
a cross-signing / secret storage dialog flow as before.
2020-09-16 15:03:06 +01:00
J. Ryan Stinnett
7bd5e3fa31 Move security-related dialogs to a common directory 2020-09-16 15:03:06 +01:00
Michael Telatynski
dfabe79335 tidy up event handler 2020-09-16 13:44:24 +01:00
Michael Telatynski
d1070c05dd UI Feature Flag: Disable VoIP 2020-09-16 13:40:27 +01:00
Michael Telatynski
771ab82598 Hide Analytics sections if piwik config is not provided 2020-09-16 10:29:21 +01:00
Travis Ralston
246b802206 Merge branch 'develop' into travis/3pid-invites 2020-09-15 08:53:32 -06:00
Michael Telatynski
6b5426bddd Rename toolbar Notifier methods to prompt 2020-09-15 13:58:29 +01:00
Travis Ralston
803badba1b Show the user's 3PID invite after they've reloaded the page
This is a step towards https://github.com/vector-im/element-web/issues/13430

Since we've stored the invite, we can send the user to it once they reload the page or revisit Element. We currently only support one invite at a time, but this should be fine for most cases. 

We only do this restoration if the next screen isn't set to avoid breaking the user out of an expected flow.

As an added touch, this also ensures that the email address is pre-filled on the registration page if needed, just in case the user refreshes before getting to the submit button.
2020-09-11 20:20:33 -06:00
Travis Ralston
a5d7b24805 Add a note for why oob_data isn't threaded yet
See https://github.com/vector-im/element-web/issues/15157
2020-09-11 19:57:16 -06:00
Travis Ralston
b1cdf1bc9a Redirect to the registration page if there's a 3PID invite
Fixes https://github.com/vector-im/element-web/issues/15130
2020-09-11 19:53:52 -06:00
Travis Ralston
dc44b9ef59 Store and thread 3pid invite through the app
This doesn't do anything with the stored value (yet), but enables us to do something with it in a future commit.
2020-09-11 19:49:48 -06:00
Michael Telatynski
c26f3b8a97 Fix onNewScreen to use replace when going from roomId->roomAlias to prevent locking the user in place 2020-09-09 16:52:46 +01:00
Michael Telatynski
9ba33c7f80 Fix eslint ts override tsx matching and delint 2020-08-29 01:11:08 +01:00
Travis Ralston
82b015bd5f Rename components to match prior convention 2020-08-26 08:52:39 -06:00
Travis Ralston
7c1a9993e3 Add new create group dialog 2020-08-25 21:08:24 -06:00
J. Ryan Stinnett
8e0742b9fe
Merge pull request #5130 from matrix-org/jryans/secure-backup-required
Enforce Secure Backup completion when requested by HS
2020-08-24 17:32:58 +01:00
J. Ryan Stinnett
35f19d53a5 Mention issue for view state store 2020-08-24 16:44:47 +01:00
Travis Ralston
e0b8343088 Run all room leaving behaviour through a single function
Fixes https://github.com/vector-im/element-web/issues/14999
Fixes https://github.com/vector-im/element-web/issues/10380

We were failing to handle errors when `/part`ing a room, though the leave room button was fine. This runs both the button and command through the same function for handling, including the 'view next room' behaviour.
2020-08-19 19:21:40 -06:00
J. Ryan Stinnett
e56a61ec68 Invoke Secure Backup flow inside the app when requested by HS
If the Secure Backup required mode is set the client `.well-known` file, then
this will ensure that everyone already inside the app is required to complete
setup matching that policy.

Fixes https://github.com/vector-im/element-web/issues/14954
2020-08-19 16:23:27 +01:00
J. Ryan Stinnett
ce226ab534 Replace Riot with Element in docs and comments
This only covers the simple cases of references to issues and repos. More
complex areas, such as deployment scripts, will be handled separately.

Part of https://github.com/vector-im/element-web/issues/14864
2020-08-03 18:33:36 +01:00
Travis Ralston
4969cfe9de Appease the linter 2020-07-28 16:37:09 -06:00
Travis Ralston
1f7f40736b Fix imports for SettingLevel to point at new file 2020-07-28 11:53:43 -06:00
Travis Ralston
dd16ec070c Replace countRoomsWithNotif with a dedicated NotificationState
Fixes https://github.com/vector-im/riot-web/issues/14694

Instead of spending 10-1000ms in a function iterating over a whole lot of room events, we can use our cached state from the Notification State Store. 

This commit sets up a structure that could be applied to communities in the TagPanel too, as that could probably use a similar optimization.

This reduces the updateStatusIndicator() time to just 4ms on average.
2020-07-21 20:24:44 -06:00
Michael Telatynski
48aa203b95 Notify left panel of resizing when it is collapsed&expanded
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-16 06:05:53 +01:00
Bruno Windels
4fe4788c2e Merge branch 'develop' into element 2020-07-14 14:31:31 +02:00
Michael Telatynski
3060cdf934 Iterate PR
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-13 17:01:50 +01:00
Michael Telatynski
5bee948717 Fix room tile context menu for Historical rooms
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-13 16:35:03 +01:00
J. Ryan Stinnett
9085627a28 Use brand name from config in all strings 2020-07-10 19:57:01 +01:00
J. Ryan Stinnett
5f78522681 Move the default brand into the config module 2020-07-10 19:57:01 +01:00
Michael Telatynski
6042e015e0 Remove unused dispatches view_indexed_room and view_prev_room
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-06 17:49:37 +01:00
J. Ryan Stinnett
209b386e23 Merge remote-tracking branch 'origin/develop' into jryans/room-view-crypto-crash 2020-07-02 13:46:50 +01:00
J. Ryan Stinnett
b5c94acbe6 Remove unused crypto import 2020-07-02 13:17:51 +01:00
Michael Telatynski
b2b909aa53 Including start_sso and start_cas in redirect loop prevention
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-29 15:40:20 +01:00
Michael Telatynski
113dfc5ed2
Merge pull request #4845 from matrix-org/t3chguy/hf1
ts-ignore because something is made of fail
2020-06-26 10:10:18 +01:00
Michael Telatynski
a905028d3a bandaid
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-26 09:37:55 +01:00
Michael Telatynski
274e6f3825 make js-sdk import happy?
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-26 09:35:29 +01:00
Michael Telatynski
9391d151f3 ts-ignore because something is made of fail
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-26 09:15:02 +01:00
Michael Telatynski
538c853149
Merge pull request #4838 from matrix-org/t3chguy/hf1
Fix Welcome.html CAS and SSO URLs not working
2020-06-26 09:09:39 +01:00
Michael Telatynski
6116cfc2b9 js-sdk imports suck
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-25 23:52:32 +01:00
Michael Telatynski
29b0505bdb Welcome no longer needs any props
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-25 22:02:39 +01:00
Michael Telatynski
c65ccbcacf Instead of passing sso and cas urls to Welcome, route via start_sso and start_cas
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-25 22:00:22 +01:00
Michael Telatynski
61618d5162 tidy up
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-25 15:02:52 +01:00
David Baker
3f936a1fe4 Merge remote-tracking branch 'origin/develop' into dbkr/support_no_ssss 2020-06-19 16:50:29 +01:00
Jorik Schellekens
05d0309081 Lint a few semicolons 2020-06-18 14:32:43 +01:00
David Baker
3d1ec9effb
typo
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-15 12:59:38 +01:00
David Baker
a75dfca73e Comment on when we start waiting for the first sync 2020-06-15 12:11:45 +01:00
David Baker
404798d27c Merge remote-tracking branch 'origin/develop' into dbkr/support_no_ssss 2020-06-15 11:36:39 +01:00
Travis Ralston
5114c37b82 Add filtering and exploring to the new room list
This is per the designs. Animation doesn't feel required here.

Like the rest of this series, this rewrites a component to be more purpose-built to help match the designs and to solve the smallest possible problem.
2020-06-08 20:33:21 -06:00
Travis Ralston
de18af35ff Support minimum to open user settings to a particular tab
Tabs now have IDs, and we use those IDs to open things. This doesn't do any conversion to typescript, and doesn't add the same feature to the room settings out of concern for the size of diff.
2020-06-08 08:20:15 -06:00
David Baker
ed7f0fd95f This promise doesn't exist anymore 2020-06-05 18:08:25 +01:00
David Baker
7c59e39710 Sort out what we wait for after login
We were waiting only for the client to become logged in rather than
for setLoggedIn() to finish but then we were waiting for the first
sync to complete which is far longer. We need setLoggedIn to have
finished for crypto to be set up so we can query cross-signing keys,
so just wait for that anyway, the logic becomes a lot simpler and
we're waiting the same amount of time because we have to wait for
the first sync to finish. We can also download keys in parallel.
2020-06-05 17:52:09 +01:00
David Baker
68e555a0c6 Support accounts with cross signing but no SSSS
At least at the login stage.

Fixes https://github.com/vector-im/riot-web/issues/13894
2020-06-05 16:40:20 +01:00
Travis Ralston
dc01607ad9 Merge branch 'develop' into travis/split-left-panel 2020-06-04 15:09:51 -06:00
Michael Telatynski
10bdb4975e
Merge pull request #4685 from matrix-org/t3chguy/sso-query
Fix login loop where the sso flow returns to `#/login`
2020-06-03 20:28:01 +01:00
David Baker
ddcd3fb806 Fix the 'complete security' screen
https://github.com/matrix-org/matrix-react-sdk/pull/4655 removed
the check for cross-signing account data where the cross-signing
labs flag was enabled if you had an existing cross-signing setup.
This also sent the user to the 'complete security' view rather than
the 'E2E Setup' view though, which meant new logins should always
see the E2E setup screen (ie. be prompted to upgrade encryption).

NB. We need to change this check for SSSS keys in account data
(https://github.com/vector-im/riot-web/issues/13894) but we should
put this back the way it was in the meantime.

Regressed in https://github.com/matrix-org/matrix-react-sdk/pull/4655
2020-06-03 14:31:34 +01:00
Michael Telatynski
653b2ff060
Merge pull request #4655 from matrix-org/t3chguy/remove_cross_signing
Remove feature_cross_signing
2020-06-03 10:42:13 +01:00
Travis Ralston
1f1f613777 Add a focus_composer dispatcher action
and use it
2020-06-02 19:07:46 -06:00
Michael Telatynski
113a9d71b5 Fix login loop where the sso flow returns to #/login
due to fragmentAfterLogin going back to `#/login`
and https://github.com/vector-im/riot-web/issues/11643

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-02 16:26:07 +01:00
Michael Telatynski
efd0da44a1 Give contextual feedback for manual update check instead of banner
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-29 18:24:45 +01:00
Michael Telatynski
2530ec8419 Try and fix the Notifier race
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-28 19:03:42 +01:00
Michael Telatynski
0242b6f3f3
Merge pull request #4624 from matrix-org/t3chguy/toasts3_2
Migrate Banners to Toasts
2020-05-28 18:21:28 +01:00
Jorik Schellekens
81922231ed Move Appearance tab to ts 2020-05-28 13:55:07 +01:00
Michael Telatynski
48de174576 remove debug
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-27 12:20:20 +01:00
Michael Telatynski
efa47f1a8e Change out debug
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-27 12:02:51 +01:00
Michael Telatynski
cc68f53fc2 tidy up and delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-27 10:47:01 +01:00
Michael Telatynski
2b432b0d82 Remove feature_cross_signing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-27 10:28:25 +01:00
Michael Telatynski
c492ae97fd Merge branches 'develop' and 't3chguy/toasts3_2' of github.com:matrix-org/matrix-react-sdk into t3chguy/toasts3_2 2020-05-27 09:45:38 +01:00
David Baker
a496dafd41 Remove the keyshare dialog
Fixes https://github.com/vector-im/riot-web/issues/11908
2020-05-26 16:51:20 +01:00
Michael Telatynski
c74d890774 Merge branches 'develop' and 't3chguy/toasts3' of github.com:matrix-org/matrix-react-sdk into t3chguy/toasts3
 Conflicts:
	src/@types/global.d.ts
	src/components/structures/ToastContainer.tsx
2020-05-26 13:38:17 +01:00
Michael Telatynski
c372e8edee fix viewGroup to actually show the group if possible
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-25 11:29:56 +01:00
Michael Telatynski
4193426808 delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-22 23:14:33 +01:00
Michael Telatynski
891ba1bbe3 Replace New Version Bar with a Toast
discards the `new_version` dispatch

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-22 23:08:45 +01:00
Michael Telatynski
c91f8c2631 Migrate Analytics Banner to a Toast
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-22 22:04:21 +01:00
Michael Telatynski
3732d1f5a5 Migrate Desktop Notifications MatrixToolbar to a Toast
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-22 21:56:25 +01:00
Michael Telatynski
b21e5ba10b Set new granular priorities
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-22 12:57:48 +01:00
Michael Telatynski
dc37469808 Convert ToastContainer and ToastStore to Typescript
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-22 12:47:40 +01:00
Jorik Schellekens
6d9d4ee547 Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into joriks/font-scaling-slider 2020-05-20 13:46:17 +01:00
Travis Ralston
798e7a1f86 Merge branch 'develop' into travis/dispatcher-types 2020-05-15 09:56:02 -06:00
Michael Telatynski
dd747a9a09
Merge pull request #4585 from matrix-org/t3chguy/sso_hash
Pass screenAfterLogin through SSO in the callback url
2020-05-14 17:30:31 +01:00
Travis Ralston
e4835c4b03 Demonstrate dis.fire() with view_user_settings
Like a5f3318f3b, this proves that the new dispatcher conversion works for fire-and-forget style dispatches too. This is another obvious-if-broken and generally safe conversion to make.

Other actions which can be dispatched this way have been excluded for reasons mentioned in the Action enum's comments.
2020-05-13 21:08:08 -06:00
Travis Ralston
a5f3318f3b Convert view_user dispatch to prove the conversion works
This is a relatively obvious dispatch action that doesn't require a lot of complicated type definitions, so should be a good candidate to prove the thing works. If for some reason the thing stops working, we've done something wrong.

This also adds a bit of generic types to the dispatch call so we don't confuse the tsx parser by using `dis.dispatch(<ViewUserPayload>{...})` as it thinks that's supposed to be a component. We still get type safety, and the thing remains happy with the generics approach.
2020-05-13 21:07:50 -06:00
Travis Ralston
90a898d03f Move dispatcher into a subdirectory
We're expecting to have a whole bunch of types for the dispatched payloads, so pull the thing into a directory we can throw them in.
2020-05-13 21:07:50 -06:00
Michael Telatynski
d8b6b7b976 Pass screenAfterLogin through SSO in the callback url
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-13 06:24:04 +01:00
Michael Telatynski
7fe40a0470 Default to public room when creating room from room directory
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-12 10:55:46 +01:00
Jorik Schellekens
33a5b5142d Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into joriks/font-scaling-slider 2020-05-07 18:01:20 +01:00
Michael Telatynski
7c1ac7aaff fix unrelated tautology
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-07 10:02:40 +01:00
Michael Telatynski
9c916cc544 Merge branches 'develop' and 't3chguy/app_load4' of github.com:matrix-org/matrix-react-sdk into t3chguy/app_load4
 Conflicts:
	src/components/structures/MatrixChat.tsx
2020-04-30 17:41:14 +01:00
Michael Telatynski
2792988ad1 Revert "Make Screens an enum"
This reverts commit f6492918

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-27 23:59:07 +01:00
Michael Telatynski
f64929187a Make Screens an enum
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-23 10:44:35 +01:00
Michael Telatynski
4cf234197b iterate PR
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-23 10:12:50 +01:00
Michael Telatynski
54e976f5a8 delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-22 13:22:33 +01:00
Michael Telatynski
01abb61e9a C
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-22 13:08:33 +01:00
Renamed from src/components/structures/MatrixChat.js (Browse further)