Commit Graph

91 Commits (7b1031d6a64e8494fb6855a1d70a15dcd896462a)

Author SHA1 Message Date
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
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