Commit graph

226 commits

Author SHA1 Message Date
J. Ryan Stinnett
e1a496f231 Pass along key backup for bootstrap
If we ask for the key backup key early in creating secret storage to ensure we
trust the backup, then we stash it to ensure it's available to bootstrap as well
without prompting again.

Fixes https://github.com/vector-im/riot-web/issues/12958
2020-04-09 17:32:57 +01:00
Travis Ralston
07030a9466
Merge branch 'develop' into travis/react-warnings/3-componentCannotDidMount 2020-04-01 11:14:19 -06:00
Travis Ralston
0fcbe40bec
Merge pull request #4314 from matrix-org/travis/react-warnings/2-code-quality
Fix a number of minor code quality issues
2020-04-01 11:13:46 -06:00
Travis Ralston
0a6f54da33 Label and use UNSAFE_componentWillMount to minimize warnings
These TODO comments are expected to be fixed ASAP, but until that happens let's minimize the errors in the console for development.

For https://github.com/vector-im/riot-web/issues/12877

These all aren't using componentDidMount because they do something which causes application instability if componentDidMount were used. Much of these calls are expected to move into constructors once they are converted to real classes.
2020-03-31 14:15:23 -06:00
Travis Ralston
3f99332f4b Use componentDidMount in place of componentWillMount where possible
This fixes a common React warning we see. Most of these components should be using constructors instead, however componentDidMount is just as good (and doesn't require converting most of these).

Conversion to classes will be done in a later stage of React warning fixes.

For https://github.com/vector-im/riot-web/issues/12877
2020-03-31 14:14:17 -06:00
Travis Ralston
c86d75693b Fix a number of minor code quality issues
Most of these are complaints from my IDE. Discovered by going through nearly every file looking for React warnings.
2020-03-31 14:05:56 -06:00
J. Ryan Stinnett
24c09cc4c8 Convert secret storage key creation to object 2020-03-31 10:45:53 +01:00
J. Ryan Stinnett
690b5945d0 Pass new secret storage key to bootstrap path
This passes the newly created secret storage key down to the bootstrap path for
temporary caching to avoid prompting the user for it again in the later stages
of bootstrapping.

Fixes https://github.com/vector-im/riot-web/issues/12867
2020-03-30 21:40:11 +01:00
Michael Telatynski
19aae087e0 Field: make id optional, generate one if not provided
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-29 22:59:15 +01:00
David Baker
c8691c73ff Allow key backup restore to get the key backup passphrase
And pass this in as the new callback to bootstrap to get the old
key backup passphrase.
2020-03-19 20:42:16 +00:00
Damir Jelić
69389823f7 ManageEventIndexDialog: Reword and move the crawler state around a bit.
This reflects now the latests design on Figma.
2020-03-06 16:07:10 +01:00
Damir Jelić
364899b27d ManageEventIndexDialog: Show how many rooms are done instead being processed. 2020-03-06 15:44:23 +01:00
Damir Jelić
bff3f3e632 Revert "ManageEventIndexDialog: Reword the status for the currently indexing rooms."
This reverts commit 7d6569a0b87c48733dbddec3c2662325977d0234.
2020-03-06 15:44:23 +01:00
Damir Jelić
8fe54e5dca ManageEventIndexDialog: Reword the status for the currently indexing rooms. 2020-03-06 15:44:23 +01:00
J. Ryan Stinnett
4db1d04764 Fix warning about uncontrolled vs. controlled state 2020-02-28 13:52:24 +00:00
J. Ryan Stinnett
d3c7a7ff1f Use latest backup status directly rather than via state
This uses the latest backup status we just retrieved by returning from the
lookup path (instead of using it indirectly via state). This is important
because state updates are batched, so we can't rely on the value to be updated
immediately like we were.

Fixes https://github.com/vector-im/riot-web/issues/12562
2020-02-28 13:47:12 +00:00
J. Ryan Stinnett
567e882c32 Add missing click handler 2020-02-28 12:04:27 +00:00
J. Ryan Stinnett
a93c13306c Prefer account password variation of upgrading
This shows the account password variation of upgrade encryption first if it's
possible to do so. This ensures we match the logic that locks the next button.

Fixes https://github.com/vector-im/riot-web/issues/12560
2020-02-28 11:25:04 +00:00
J. Ryan Stinnett
a71a234622 Check for cross-signing homeserver support
This checks the homeserver to ensure it supports cross-signing (via the versions
feature flag) before attempting bootstrapping or offering user verification.

Fixes https://github.com/vector-im/riot-web/issues/11863
2020-02-24 15:04:34 +00:00
Damir Jelić
81e61d6f9d EventIndexPanel: Move the comments around for the getStats calls. 2020-02-20 14:46:10 +01:00
Damir Jelić
a650c47d6b ManageEventIndexDialog: Add a space before the function parenthesis. 2020-02-20 14:46:10 +01:00
Damir Jelić
1897d67818 EventIndexPanel: Catch getStats failures.
Getting the stats can fail when used with Seshat. Tantivy periodically
garbage collects its files. Smaller files are merged and the old ones
are removed.

If garbage collection occurs while we try to get the stats, which go
trough the files and figure out their sizes, we can end up trying to
figure out the file size of a removed file. The getStats call will fail
in this case but we can ignore the failure since we will likely get a
nice result next time we try.
2020-02-20 14:46:10 +01:00
Damir Jelić
9e3b0fdf7c EventIndexPanel: Fix the removal of the updateCurrentRoom listeners.
The event listeners that update the current room and try to get the
current stats from the event index don't seem to be unmounted because
this != this confusion.

Turning them into arrow methods of the react class fixes this.
2020-02-20 14:46:10 +01:00
Michael Telatynski
16bbea0b59 Fix various leaks due to method re-binding
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-20 02:35:30 +00:00
Zoe
c8e65bfa65 flip sense of 'force' flag in if statement 2020-02-11 17:56:25 +00:00
Zoe
5382a52519 Fixed bug where key reset didn't always return the right key 2020-02-11 15:57:14 +00:00
Zoe
d47d13256f
Merge pull request #4041 from matrix-org/foldleft/12221-reset-cross-signing
Button to reset cross-signing and SSSS keys
2020-02-10 17:14:05 +00:00
Michael Telatynski
2230e746aa sprinkle preventDefaults on form submission handlers 2020-02-09 15:03:28 +00:00
Michael Telatynski
0393a57b5a fix submit button disabled breaking async task 2020-02-09 14:49:54 +00:00
Michael Telatynski
150f2b3f84 Merge branches 'develop' and 't3chguy/password_completion' of https://github.com/matrix-org/matrix-react-sdk into t3chguy/password_completion 2020-02-09 14:19:44 +00:00
Zoe
8fdae73e03 Button to reset cross-signing and SSSS keys 2020-02-07 14:55:01 +00:00
Michael Telatynski
4d0d6cdaa4
Merge branch 'develop' into t3chguy/password_completion 2020-02-05 20:24:37 +00:00
J. Ryan Stinnett
b92fe59436 Improve event indexing status strings for translation
The strings used for the count of rooms was hard to translate, so this adds a
bit more context.
2020-02-04 23:09:49 +00:00
Damir Jelić
d8576f23de ManageEventINdexDialog: Fix a line length issue. 2020-02-01 12:11:49 +01:00
Damir Jelić
75fe3c2219 ManageEventIndexDialog: Show how many rooms are being currently crawled. 2020-02-01 12:01:53 +01:00
Damir Jelić
01c1c2364b ManageEventIndexDialog: Add back a control for the crawler sleep time. 2020-01-31 18:46:45 +01:00
J. Ryan Stinnett
d5811cad28 Change UI auth title for cross-signing 2020-01-31 15:04:51 +00:00
J. Ryan Stinnett
02cada7cc6 First pass of copy changes 2020-01-31 12:15:19 +00:00
David Baker
96d5fb5ce3 Only display the first zxcvbn warning/suggestion
As per comment

Fixes https://github.com/vector-im/riot-web/issues/12150
2020-01-31 10:59:35 +00:00
Michael Telatynski
a180dddc66 Pass an ID to the <Field/> as needed and fix div inside p nesting
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-29 22:31:19 +00:00
J. Ryan Stinnett
81ee27f41e Replace device with session in UI text
This replaces "device" with "session" throughout user-visible text at the React
layer. Variable names and comments are left as-is for now.
2020-01-29 15:52:32 +00:00
Michael Telatynski
fe71fe6033 Sprinkle forms and new-password designators to make autofill and password completion less wild
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-29 13:38:50 +00:00
Michael Telatynski
cb0392b78d use forms to wrap password fields so Chrome doesn't go wild and prefill all the things
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-29 13:24:45 +00:00
David Baker
39c8a9d204 Start new key backup in security setup flow
Part of https://github.com/vector-im/riot-web/issues/11889
2020-01-28 19:42:09 +00:00
David Baker
5e1b42b350 unused component 2020-01-28 17:21:42 +00:00
David Baker
546acb696d Add confirmation to skip button
Re-using the opt out phase which was unused
2020-01-28 17:15:50 +00:00
David Baker
abfa593791 Make the 'encryption upgrade' flow better
Fixes https://github.com/vector-im/riot-web/issues/12086
2020-01-28 16:36:07 +00:00
Damir Jelić
e2dd2bd950 Merge branch 'poljar/seshat-ui-pr' into develop 2020-01-27 17:18:17 +01:00
Damir Jelić
e38f1191a5 ManageEventIndex: Clarify that we're currently not downloading any messages. 2020-01-27 15:51:19 +01:00
Damir Jelić
7e0ab2f0a3 DisableEventIndexDialog: Turn the cancel button red. 2020-01-27 15:28:43 +01:00
David Baker
437b45f8a6 Remember password for e2e bootstrapping
Fixes https://github.com/vector-im/riot-web/issues/12046
2020-01-25 15:28:06 +00:00
David Baker
3d7137d4ad Setup flow for cross-signing on login / registration
Still outstanding:
 * Keep password from login / registration
 * Confirmation on skip button

Fixes https://github.com/vector-im/riot-web/issues/11902
2020-01-24 19:11:57 +00:00
Damir Jelić
9f3e5ab1db ManageEventIndexDialog: Remove an unused import. 2020-01-24 16:52:26 +01:00
Damir Jelić
3208ac60c7 ManageEventIndexDialog: Override the Disable button class to be danger. 2020-01-24 16:47:29 +01:00
Damir Jelić
ddea7415c7 EventIndexPanel: Use formatCountLong to format the event and room counts. 2020-01-24 16:15:06 +01:00
Damir Jelić
2252f48e04 DisableEventIndexDialog: Use a self-closing tag for the buttons. 2020-01-24 15:26:24 +01:00
Damir Jelić
97d55f63a3 DisableEventIndexDialog: Remove the incorrect class on the dialog. 2020-01-24 15:26:09 +01:00
Damir Jelić
ee133a9c71 DisableEventIndexDialog: Remove an unused import. 2020-01-24 11:56:19 +01:00
Damir Jelić
6f919eaeec DisableEventIndexDialog: Use the correct spinner. 2020-01-24 11:27:56 +01:00
Damir Jelić
128c0b7300 ManageEventIndexDialog: Use formatCount to format the message and room count. 2020-01-24 11:11:53 +01:00
Damir Jelić
71024d1418 ManageEventIndexDialog: Properly indent the content of the BaseDialog. 2020-01-24 11:03:40 +01:00
Damir Jelić
cba7764784 DisableEventIndexDialog: Use the DialogButtons element for the buttons. 2020-01-24 11:00:28 +01:00
Damir Jelić
72a58d0c2c DisableEventIndexDialog: Properly indent the content of the BaseDialog. 2020-01-24 09:59:26 +01:00
Damir Jelić
b59863781f DisableEventIndexDialog: Fix a typo. 2020-01-24 09:58:17 +01:00
Damir Jelić
93facca479 ManageEventIndex: Rename the file to contain the Dialog suffix. 2020-01-24 09:54:46 +01:00
Damir Jelić
f763ae3c7b DisableEventIndex: Rename the file to contain the Dialog suffix. 2020-01-24 09:50:58 +01:00
Damir Jelić
4ea2d4f90e ManageEventIndex: Rewrite the docs and rename the dialog class. 2020-01-24 09:45:29 +01:00
Damir Jelić
d30fd3eac0 DisableEventIndex: Rename the class. 2020-01-24 09:39:56 +01:00
Damir Jelić
86a098fcd9 DisableEventIndex: Remove a blank line and rewrite a doc comment. 2020-01-24 09:39:40 +01:00
Damir Jelić
381fe95f67 EventIndex: Fix some lint errors. 2020-01-23 15:22:26 +01:00
Damir Jelić
251661388a ManageEventIndex: Set the button kind to danger. 2020-01-23 15:06:10 +01:00
Damir Jelić
3073ce5588 DisableEventIndex: Set the correct button kind and add a spinner. 2020-01-23 15:05:40 +01:00
Damir Jelić
5ac37c8694 ManageEventIndex: Remove the enable button, that one goes somewhere else. 2020-01-23 14:26:35 +01:00
Damir Jelić
c251031dfb DisableEventIndex: Return back to the user settings after disabling. 2020-01-23 14:25:47 +01:00
Damir Jelić
64c4ad2eb9 ManageEventIndex: Hook up the disable event index button. 2020-01-23 13:33:55 +01:00
Damir Jelić
947ea9823d Settings: Remove the crawler sleep time setting. 2020-01-23 13:32:27 +01:00
Damir Jelić
4953f32cba ManageEventIndex: Rename the enable crawler setting. 2020-01-23 12:26:26 +01:00
Damir Jelić
9bee024da7 ManageEventIndex: Remove some useless divs and add the enable case. 2020-01-23 12:24:06 +01:00
Damir Jelić
5fd121d2af ManageEventIndex: Remove the unused stats. 2020-01-23 11:44:56 +01:00
David Baker
c0b7132404 Different copy on done screen if we setup from scratch 2020-01-23 10:18:08 +00:00
David Baker
30b0663eb0 lint 2020-01-22 18:15:35 +00:00
David Baker
78654cc693 Updated visuals for cross-signing bootstrap
* Use Fields rather than plain inputs
 * Update padding & alignment to match designs
 * Add Skip buttons
 * Update copy as per designs

Part of https://github.com/vector-im/riot-web/issues/11902
Based on https://github.com/matrix-org/matrix-react-sdk/pull/3897
2020-01-22 18:08:39 +00:00
David Baker
e98269822c Add icon to bootstrap dialogs 2020-01-22 11:44:47 +00:00
David Baker
644d68d836 Update copy in bootstrap success dialog phase 2020-01-22 10:59:50 +00:00
David Baker
d211372740 UI to bootsrap SSSS from key backup 2020-01-22 10:44:02 +00:00
Damir Jelić
47ea453abf ManageEventIndex: Fix a couple of lint issues. 2020-01-21 16:58:41 +01:00
Damir Jelić
6b85284632 EventIndexPanel: Move the bulk of the event index info into a modal. 2020-01-21 13:20:30 +01:00
J. Ryan Stinnett
27ee90cad5 Add post-login complete security flow
This adds a step after login to complete security for your new session. At the
moment, the only verification method is entering your SSSS passphrase, but nicer
paths will be added soon.

This new step only appears when crypto is available and the account has
cross-signing enabled in SSSS.

Fixes https://github.com/vector-im/riot-web/issues/11214
2020-01-15 21:53:36 +00:00
Travis Ralston
7bfb3686cd
Merge pull request #3839 from matrix-org/travis/sourcemaps
Fix sourcemaps by refactoring the build system
2020-01-15 10:11:33 -07:00
David Baker
f87541a6a9
Merge pull request #3822 from matrix-org/dbkr/key_backup_resign
Don't allow upgrade from untrusted key backup.
2020-01-14 12:18:00 +00:00
David Baker
24552f567e Add primary button to trigger restore flow 2020-01-14 11:52:00 +00:00
David Baker
94e4d5bf1f s/sign-in/session/ 2020-01-14 11:32:30 +00:00
David Baker
44ca35296a
Consistent capitalisation
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2020-01-14 11:31:00 +00:00
Travis Ralston
3e5cc9550b Fix import merge conflicts, removing any that aren't needed anymore
Many imports were removed as part of refactoring work, so here we are.
2020-01-09 14:17:33 -07:00
Travis Ralston
fde32f13a5 [CONFLICT CHUNKS] Merge branch 'develop' into travis/sourcemaps-develop 2020-01-09 14:15:09 -07:00
David Baker
5019eff1e3 Don't allow upgrade from untrusted key backup.
If we trust the key backup at upgrade time then we can sign it so
key backup will work automatically when cross-signing is trusted.
If we don't sign it at this point we'll end up with cross-signing
and key backup set up but key backup untrusted by the cross-signing
key which is a bit of a broken situation.

With https://github.com/matrix-org/matrix-js-sdk/pull/1144 fixes
https://github.com/vector-im/riot-web/issues/11747
2020-01-09 20:49:37 +00:00
Travis Ralston
59f608ffd6
Merge pull request #3761 from matrix-org/travis/babel7-wp-es6-export
Convert CommonJS exports to ES6 exports
2020-01-08 09:09:11 -07:00
Michael Telatynski
f1de6d060a Add a regression test for editing events and url previews
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-06 14:38:21 +00:00
J. Ryan Stinnett
76f3a08909
Merge pull request #3800 from matrix-org/jryans/key-backup-dialogs-4s
Update key backup creation and recovery paths for SSSS
2020-01-03 16:32:02 +00:00
David Baker
2125bcf5a6 Comment remaining non-cross-signing-compliant components
Fixes https://github.com/vector-im/riot-web/issues/11748
2020-01-03 15:38:59 +00:00