Commit graph

328 commits

Author SHA1 Message Date
Michael Telatynski
f25e6813bb
Mandate use of js-sdk/src/matrix import over js-sdk/src (#7933) 2022-03-01 20:42:05 +00:00
Michael Telatynski
7fa01ffb06
Improve typing around event emitter handlers (#7816) 2022-02-22 12:18:08 +00:00
Michael Telatynski
76fb2abae1
Consolidate, simplify and improve copied tooltips (#7799) 2022-02-14 23:54:46 +00:00
Aaron Raimist
2e8a93834b Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 09:10:23 +00:00
Aaron Raimist
7b94e13a84 Merge branch 'develop' into sort-imports
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-12-09 08:34:20 +00:00
Michael Weimann
f27eb04133
Adjust recovery key button sizes depending on text width (#7134) 2021-11-17 09:34:59 +00:00
Travis Ralston
8742870b12
Fix js-sdk import (#7143) 2021-11-16 11:44:33 +00:00
Faye Duxovni
d61a83a7b9
Remove all directional quotation marks in the codebase (#7059) 2021-10-29 21:59:21 -04:00
Aaron Raimist
f738ad51bd
Autofix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-27 21:53:12 -05:00
Aaron Raimist
f3867ad0a9 Merge branch 'develop' into sort-imports 2021-10-27 21:50:56 -05:00
Šimon Brandner
c5bd1fb32d
Convert /src/async-components/views/dialogs/security to TS (#6923)
* Convert RecoveryMethodRemovedDialog to TS

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Convert NewRecoveryMethodDialog to TS

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Convert ImportE2eKeysDialog to TS

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Convert ExportE2eKeysDialog to TS

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Convert CreateSecretStorageDialog to TS

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Convert CreateKeyBackupDialog to TS

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix types

This is somewhat hacky though I don't know of a better way to do this

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-10-22 21:32:16 -06:00
Aaron Raimist
bdc56be863
Auto fix
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-10-22 17:23:37 -05:00
Dariusz Niemczyk
5e73a212f4 Replace console.error with logger.error
Related https://github.com/vector-im/element-web/issues/18425
2021-10-18 14:08:23 +02:00
Dariusz Niemczyk
2d1d42b90e
Globally replace all console.logs via codemod (#6827)
This commit replaces all the `console.log` to `logger.log` via an automated script.
Related: vector-im/element-web#18425
2021-09-21 09:48:09 -06:00
Šimon Brandner
af853e1d86
Convert DialogButtons to TS
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-09-17 18:47:14 +02:00
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
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
6f3bfc96ca Merge remote-tracking branch 'origin/develop' into dbkr/recovery_keys_over_passphrases 2020-06-03 11:01:43 +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
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
2b432b0d82 Remove feature_cross_signing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-27 10:28:25 +01:00
David Baker
7e45a71a8a Remove EncryptedEventDialog
https://github.com/matrix-org/matrix-react-sdk/pull/4412 disabled it
when cross signing was enabled so it is essentially gone now anyway.

Fixes https://github.com/vector-im/riot-web/issues/11752
2020-05-26 13:37:57 +01:00
Michael Telatynski
c73c3ae927 Update confirm passphrase copy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-25 11:35:21 +01:00
Travis Ralston
9aff2e836e
Merge pull request #4593 from matrix-org/travis/dispatcher-types
Convert the dispatcher to TypeScript
2020-05-18 23:22:32 -06: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
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
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
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
Michael Telatynski
7fe8894c51 Update seshat copy to remove trailing full stop
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-18 23:16:40 +01:00
Travis Ralston
25fa675f88 Blind attempt at fixing the end to end tests 2020-04-16 11:46:29 -06:00
Travis Ralston
db749519e7 Merge branch 'develop' into travis/cross-sign-setting 2020-04-16 11:06:26 -06:00
Michael Telatynski
aea7ede7d0 update PHASE_PASSPHRASE copy
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-16 14:55:43 +01: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
f65c31383d Copy tweaks with Nad
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-16 12:52:35 +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