Commit graph

263 commits

Author SHA1 Message Date
Michael Telatynski
f5630acea7 Adhere to better eslint rules 2021-07-23 10:35:10 +01:00
Germain Souquet
efce2d16f1 Merge branch 'develop' into gsouqet/ts-migration-1 2021-07-20 18:43:08 +02:00
Germain Souquet
fdd98bbf3f linter fix 2021-07-20 09:55:26 +02:00
Michael Telatynski
ce78cdf4ad Conform to new react and typescript eslint rules 2021-07-19 22:43:11 +01:00
Germain Souquet
c8bd375130 Migrate DisableEventIndexDialog to TypeScript 2021-07-15 15:11:45 +02:00
Šimon Brandner
b40027a193
Delint
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-02 18:02:41 +02:00
Šimon Brandner
9d569c378e
Second batch of burning
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-07-02 17:08:27 +02:00
J. Ryan Stinnett
ae0a8b8da4 Auto-fix lint errors 2021-06-29 13:11:58 +01:00
J. Ryan Stinnett
28128ca45f
Merge pull request #5934 from aaronraimist/security-phrase-2
Another change from recovery passphrase to Security Phrase
2021-05-04 11:43:23 +01:00
Aaron Raimist
03a098887a
Change confirmation string in CreateSecretStorageDialog.js to match
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-04-30 19:44:43 -05:00
Aaron Raimist
79e03332e3
Another change from recovery passphrase to Security Phrase
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-04-27 16:51:53 -05:00
Šimon Brandner
46bfbbadf9
Enable indent rule and fix indent
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-04-27 17:23:27 +02:00
J. Ryan Stinnett
2be8f0c9c7 Fix onFinished type 2021-04-27 11:26:45 +01:00
J. Ryan Stinnett
01cfd9361e Fix ManageEventIndexDialog props syntax 2021-04-26 15:06:10 +01:00
J. Ryan Stinnett
b8a915bb76 Tweak private / underscores for fields and methods 2021-04-26 14:02:53 +01:00
J. Ryan Stinnett
f34489e2df Actually fix indent lint errors 2021-04-23 18:11:54 +01:00
J. Ryan Stinnett
d7e6f4b4b5 Add basic types 2021-04-23 17:05:50 +01:00
J. Ryan Stinnett
31a28b1a9e Update extensions for some files with types
This migrates one bucket of files using some amount of Flow typing to mark them
as TypeScript instead. The remaining type errors are fixed in subsequent
commits.
2021-04-23 16:05:30 +01:00
Travis Ralston
1d9d0cd7be Convert a bunch more js-sdk imports to absolute paths
Turns out a lot of the typescript warnings about improper warnings were correct. TypeScript appears to be pulling in two copies of the js-sdk when we do this, which can lead to type conflicts (or worse: the wrong code entirely). We fix this at the webpack level by explicitly importing from `src`, but some alternative build structures have broken tests because of this - jest ends up pulling in the "wrong" js-sdk, breaking things.
2021-03-18 20:50:34 -06:00
Aaron Raimist
d479d97e2c
Rename recovery-key.txt to security-key.txt
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-01-12 16:05:40 -06:00
Aaron Raimist
4f96d5dee5
Change a bunch of strings from Recovery Key/Phrase to Security Key/Phrase
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-01-04 19:17:17 -06:00
J. Ryan Stinnett
bb18e44042 Fix React warning by moving handler to each button
React is disturbed that the buttons don't have their own event handlers, so
let's just move it there.
2020-10-27 17:11:09 +00:00
J. Ryan Stinnett
388cb0e2c1 Add security customisation points
This adds various customisations point in the app for security related
decisions. By default, these do nothing, but would be customised at the
app level via module replacement (so that no changes are needed here in the
SDK).

Fixes https://github.com/vector-im/element-web/issues/15350
2020-10-16 11:21:44 +01:00
J. Ryan Stinnett
115c7ccd4e Support HS-preferred Secure Backup setup methods
This adds support for the `secure_backup_setup_methods` key, which allows HS
admins to state that Element should simplify down to only one setup method,
rather than offering both.

Fixes https://github.com/vector-im/element-web/issues/15238
2020-09-21 16:10:42 +01:00
J. Ryan Stinnett
26b465f1fd Remove room recovery reminder
The Secure Backup toast replaces this with better UX.

Part of https://github.com/vector-im/element-web/issues/13895
2020-09-16 15:03:06 +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
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
7b1031d6a6
Merge pull request #5169 from matrix-org/jryans/defer-cross-signing-setup
Prep work for Settings changes with cross-signing deferral
2020-09-04 12:51:25 +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
Michael Telatynski
72498df28f Remove create-react-class 2020-08-29 12:14:16 +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
Travis Ralston
1f7f40736b Fix imports for SettingLevel to point at new file 2020-07-28 11:53:43 -06:00
J. Ryan Stinnett
9085627a28 Use brand name from config in all strings 2020-07-10 19:57:01 +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