Commit graph

92 commits

Author SHA1 Message Date
J. Ryan Stinnett
bbe2084f66 Add independent set up / reset actions in Settings
This adds set up and reset actions to each of cross-signing and secure backup
that do separate things, rather than mixing concerns together. (It's temporarily
still a bit of lie for backup, as more changes are needed to stop resetting
cross-signing as well.)
2020-09-08 18:01:56 +01:00
J. Ryan Stinnett
fb2bde94fa Rename CrossSigningManager to SecurityManager
The file encompasses bits of cross-signing and also secret storage / secure
backup.
2020-09-03 14:50:49 +01:00
J. Ryan Stinnett
f634c3a71e Add secret storage cache callback to avoid prompts
This supplies a cache callback to the JS SDK so that we can be notified if a new
storage key is created e.g. by resetting secret storage. This allows it to be
supplied automatically in case it's needed in the same user operation, as it is
when resetting both secret storage and cross-signing together.
2020-08-28 12:10:17 +01:00
J. Ryan Stinnett
3a98b4b4e9 Rename reset secret storage prop
The bare word `force` has bothered me, so this adds a tiny amount more meaning.
2020-08-27 13:50:50 +01:00
J. Ryan Stinnett
4a807f9385 Migrate to new, separate APIs for cross-signing and secret storage
This migrates to the new JS SDK APIs, which now use separate paths for
cross-signing and secret storage setup. There should be no functional change
here.

Part of https://github.com/vector-im/element-web/issues/13895
2020-08-27 13:41:03 +01:00
J. Ryan Stinnett
1932505d3b Enforce Secure Backup completion when requested by HS
This removes all buttons to escape the Secure Backup setup flow when the
matching `.well-known` setting is set by homeserver.

Part of https://github.com/vector-im/element-web/issues/14954
2020-08-19 16:23:27 +01:00
J. Ryan Stinnett
941cbc47c8 Fix casing of Secure Backup to match designs 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
Michael Telatynski
5a542281ed Make Styled Radio Button outlines default-off
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-07-03 19:27:45 +01:00
David Baker
24baf19d65 Set field validity (ie. border colour) correctly
Changes flagInvalid to forceValidity which can force valid as well
as invalid.
2020-06-26 18:50:05 +01:00
David Baker
919c3bd360 lint 2020-06-26 12:43:28 +01:00
David Baker
e18ea55d20 Convert icons to masks
so they're a sensible colour in other themes
2020-06-26 12:41:24 +01:00
David Baker
bf45cb0588 PR feedback: re-order CSS & add underscore 2020-06-26 11:24:07 +01:00
David Baker
ee5582ab32 Remove the "You're done" screen 2020-06-24 16:55:35 +01:00
David Baker
966837232c Add header icons & justification 2020-06-24 16:12:46 +01:00
David Baker
a23b784e00 Enable continue button if a passphrase has been set 2020-06-24 15:21:09 +01:00
David Baker
bf15e96a6a Make pasphrase screen look more like designs
Although passphrase / passphrase confirm is still split between two
screens because that's more work to change and probably is not a pivotal
part of the UI that needs to change in step with everything else.
2020-06-24 12:43:56 +01:00
David Baker
3716f9d82c Fix cancel button / prompt 2020-06-23 16:43:52 +01:00
David Baker
0694776b25 Update the 'save your security key' screen 2020-06-23 16:27:41 +01:00
David Baker
6ce8584337 Implement first screen (recovery key / passphrase choice) 2020-06-23 15:04:39 +01:00
David Baker
e0a34d9dea
Revert "Use recovery keys over passphrases" 2020-06-18 09:35:11 +01:00
David Baker
226abb457e Update copy in encryption upgrade swcreen 2020-06-03 12:24:22 +01:00
David Baker
5844a2dd9b indenting (that somehow the linter doesn't care about?) 2020-06-03 10:09:38 +01:00
David Baker
b60a1d3b66 Import components 2020-06-03 09:55:48 +01:00
David Baker
b83ecb1781 Merge remote-tracking branch 'origin/develop' into dbkr/recovery_keys_over_passphrases 2020-06-02 18:53:54 +01:00
David Baker
397b95c5fa lint 2020-06-02 18:03:32 +01:00
David Baker
5624cf5ceb Add option to reset keys to the encryption setup screen 2020-06-02 17:55:27 +01:00
David Baker
631184c661 Fix upgrading with already trusted backup 2020-05-29 15:55:16 +01:00
David Baker
f54bac0e95 Use recovery keys over passphrases
Step 1 - change CreateSecretStorageDialog to just give a recovery key
rather than a passphrase.
2020-05-29 15:42:07 +01:00
Travis Ralston
ea064afca4 Fix/document a number of UIA oddities
Edition 2 of https://github.com/matrix-org/matrix-react-sdk/pull/3211
Fixes https://github.com/vector-im/riot-web/issues/13837
2020-05-29 08:23:59 -06:00
Michael Telatynski
c73c3ae927 Update confirm passphrase copy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-25 11:35:21 +01:00
Michael Telatynski
f2979f3fd8 replace zxcvbn field in CreateKeyBackupDialog with PassphraseField
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-14 20:59:46 +01:00
Michael Telatynski
865495dd69 replace zxcvbn field in CreateSecretStorageDialog with PassphraseField
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-14 20:50:22 +01:00
Michael Telatynski
09a4af49f3 Consolidate zxcvbn progress bars into a component and add dynamic colour
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-14 18:49:55 +01:00
Travis Ralston
9dd93f14ba
Merge pull request #4555 from matrix-org/travis/sso-xsigning
Add copy to SSO prompts during cross-signing setup
2020-05-13 15:33:09 -06:00
Travis Ralston
e5da81b6ba Ensure key backup gets dealt with correctly during secret storage reset
Fixes https://github.com/vector-im/riot-web/issues/13562

We only initialize a new key backup if the user requested one. If they've requested new keys but have not asked for keys to be backed up, we simply delete the now-invalid backup.

This also adds some logging to identify in rageshakes when someone resets their cross-signing, and when their key backup is being deleted.
2020-05-06 14:42:03 -06:00
Travis Ralston
17be9805e1 Set SSO dialog aesthetics for cross-signing setup
Fixes https://github.com/vector-im/riot-web/issues/13042
2020-05-06 14:24:37 -06:00
J. Ryan Stinnett
8536e087ab Skip auth flow test for signing upload when password present
If we already have an account password to use during secret storage setup, then
it's highly likely that the homeserver accepts passwords for device signing key
upload as well. This change then assumes password auth will work without
checking to avoid a request when the server is under high load.

Fixes https://github.com/vector-im/riot-web/issues/13286
2020-04-22 14:48:44 +01:00
David Baker
58c8f2188a Handle load error in create secret storage dialog 2020-04-20 18:10:23 +01:00
Travis Ralston
25fa675f88 Blind attempt at fixing the end to end tests 2020-04-16 11:46:29 -06:00
Michael Telatynski
af59c1b5b3 iterate copy some more
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-16 14:02:32 +01:00
Michael Telatynski
9ec8fda1ce update Create SSSS Dialog copy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-16 13:34:18 +01:00
Michael Telatynski
a9a2999ccc Use recovery passphrase and recovery key everywhere
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-16 12:26:12 +01:00
Michael Telatynski
89bc3bdd5b consolidate and extract copyPlaintext, copyNode and selectText
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-15 00:16:11 +01:00
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
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
J. Ryan Stinnett
4db1d04764 Fix warning about uncontrolled vs. controlled state 2020-02-28 13:52:24 +00:00