Commit Graph
100 Commits
Author SHA1 Message Date
J. Ryan StinnettandGitHub a1352622ea Merge pull request #5346 from matrix-org/jryans/translate-rename
Update Weblate URL
2020-10-21 13:37:29 +01:00
J. Ryan StinnettandGitHub 5fcd2d5f8a Merge pull request #5347 from RiotTranslateBot/weblate-element-web-matrix-react-sdk
Translations update from Weblate
2020-10-21 13:37:18 +01:00
J. Ryan Stinnett 640fe00d1e Update Weblate URL 2020-10-21 13:14:41 +01:00
J. Ryan StinnettandGitHub 350c536cc7 Merge pull request #5344 from matrix-org/jryans/release-disable-editor
Skip editor confirmation of upgrades
2020-10-20 15:11:13 +01:00
J. Ryan Stinnett 31cc3765e3 Skip editor confirmation of upgrades
In practice, the upgrades are always fine, and this editor prompt just adds
delays.
2020-10-20 11:55:48 +01:00
J. Ryan StinnettandGitHub bdd6287fcc Merge pull request #5342 from matrix-org/jryans/event-lib-release
[Release] Adjust for new widget messaging APIs
2020-10-19 17:53:29 +01:00
J. Ryan Stinnett 2219419f52 Upgrade widget API 2020-10-19 17:41:04 +01:00
J. Ryan Stinnett 11199f89f4 Adjust for new widget messaging APIs
As part of changing to the `events` package, the API surface changed slightly.

Related to https://github.com/vector-im/element-web/issues/15493
2020-10-19 17:38:28 +01:00
J. Ryan StinnettandGitHub 59871263ab Merge pull request #5341 from matrix-org/jryans/event-lib
Adjust for new widget messaging APIs
2020-10-19 17:31:00 +01:00
J. Ryan Stinnett d6a166d3bf Upgrade widget API 2020-10-19 16:56:36 +01:00
J. Ryan Stinnett 7fe98b4e9d Adjust for new widget messaging APIs
As part of changing to the `events` package, the API surface changed slightly.

Related to https://github.com/vector-im/element-web/issues/15493
2020-10-19 16:42:20 +01:00
J. Ryan StinnettandGitHub ce8a4c017f Merge pull request #5327 from matrix-org/jryans/sso-4s-integration
Add security customisation points
2020-10-16 11:43:21 +01: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 StinnettandGitHub 26e63c23b6 Merge pull request #5307 from matrix-org/jryans/sso-4s-integration
Convert `src/SecurityManager.js` to TypeScript
2020-10-12 11:41:12 +01:00
J. Ryan Stinnett 6498f3fcef Simplify types 2020-10-12 11:11:39 +01:00
J. Ryan Stinnett 2698a12a6f Convert src/SecurityManager.js to TypeScript
This includes a few small API tweaks as well, only in cases where TS revealed we
were doing something confusing or wrong.

Part of https://github.com/vector-im/element-web/issues/15350
2020-10-09 17:27:03 +01:00
J. Ryan StinnettandGitHub 0466f1df76 Merge pull request #5298 from matrix-org/jryans/2020-10-polishing
Visual tweaks from 2020-10-06 polishing
2020-10-08 10:15:04 +01:00
J. Ryan Stinnett 576ea6df08 Use same colour variable as text 2020-10-08 10:01:05 +01:00
J. Ryan Stinnett 73ce2fac8a Add comment on colour 2020-10-08 09:56:58 +01:00
J. Ryan Stinnett 43ea5de320 Adjust Settings styles 2020-10-07 20:23:34 +01:00
J. Ryan Stinnett 3d0db1b022 Change invite icon 2020-10-07 20:08:59 +01:00
J. Ryan Stinnett 936344b012 Make back button a circle 2020-10-07 17:53:41 +01:00
J. Ryan Stinnett 5a4ca4578a Sprinkle some ts-ignore lines 2020-10-07 17:18:19 +01:00
J. Ryan Stinnett f77dace173 Shake lock file to attempt fixing CI 2020-10-07 17:07:44 +01:00
J. Ryan StinnettandGitHub 779e43b8dd Merge pull request #5296 from matrix-org/jryans/sso-4s-integration
Convert auth lifecycle to TS, remove dead ILAG code
2020-10-07 15:42:42 +01:00
J. Ryan Stinnett 28e458075a Fix types after underscore changes 2020-10-07 15:10:11 +01:00
J. Ryan StinnettandGitHub 0b443c5280 Merge pull request #5297 from RiotTranslateBot/weblate-element-web-matrix-react-sdk
Update from Weblate
2020-10-07 13:38:51 +01:00
J. Ryan Stinnett 72bd72e524 Remove underscores 2020-10-07 13:32:30 +01:00
J. Ryan Stinnett 40292884bf Regenerate component CSS index 2020-10-07 13:09:03 +01:00
J. Ryan Stinnett 4dd6e96bfd Regenerate strings 2020-10-07 13:00:27 +01:00
J. Ryan Stinnett a762317a3e Regenerate lint ignore file 2020-10-07 12:56:12 +01:00
J. Ryan Stinnett f2b72efe39 Remove various remaining bits of ILAG flows
TypeScript helpfully pointed me towards this dead code, which has been floating
around unused for a while. If we want to bring back ILAG in the future, we can
always revive it from history.
2020-10-07 12:53:59 +01:00
J. Ryan Stinnett 1b255e42c3 Convert src/Lifecycle.ts to TypeScript 2020-10-07 12:53:59 +01:00
J. Ryan Stinnett 11eb9b59e6 Convert src/Login.js to TypeScript 2020-10-07 11:47:27 +01:00
J. Ryan StinnettandGitHub 0f2c08f532 Merge pull request #5269 from matrix-org/jryans/auto-link-release
Ensure package links exist when releasing
2020-10-01 14:29:51 +01:00
J. Ryan Stinnett 93daacde88 Ensure package links exist when releasing 2020-10-01 14:13:45 +01:00
J. Ryan StinnettandGitHub 44c6a30ed8 Merge pull request #5246 from RiotTranslateBot/weblate-element-web-matrix-react-sdk
Update from Weblate
2020-09-23 14:49:15 +01:00
J. Ryan StinnettandGitHub 2fe36fd055 Merge pull request #5245 from matrix-org/jryans/large-tables
Upgrade sanitize-html, set nesting limit
2020-09-23 10:06:46 +01:00
J. Ryan Stinnett c3c3472ae4 Fix copyright header 2020-09-23 10:06:25 +01:00
J. Ryan Stinnett 064ae187e2 Upgrade sanitize-html, set nesting limit
This uses the recently added option to allow specifying a nesting limit.

Fixes https://github.com/vector-im/element-web/issues/15122
2020-09-22 18:06:10 +01:00
J. Ryan StinnettandGitHub 93b109105a Merge pull request #5242 from matrix-org/jryans/secure-backup-setup-methods
Support HS-preferred Secure Backup setup methods
2020-09-22 16:07:38 +01:00
J. Ryan Stinnett 693dbab54e Add more types and enums 2020-09-22 15:22:39 +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 StinnettandGitHub ec4bf0c057 Merge pull request #5219 from matrix-org/jryans/defer-cross-signing-setup
Defer encryption setup until first E2EE room
2020-09-18 10:28:33 +01:00
J. Ryan Stinnett b5000b236f Fix lint error 2020-09-16 17:12:51 +01:00
J. Ryan Stinnett a18d0271c3 Adjust tests for Secure Backup toast 2020-09-16 16:51:10 +01:00
J. Ryan Stinnett 7a5b0a964f Adjust main encryption toast to reference Secure Backup
This adjusts the main toast to focus on Secure Backup as suggested in designs.

Part of https://github.com/vector-im/element-web/issues/13895
2020-09-16 15:03:06 +01:00
J. Ryan Stinnett 550a53e49c Check cross-signing cached keys when showing setup button 2020-09-16 15:03:06 +01:00
J. Ryan Stinnett 6130d9e882 Delay encryption setup toasts until encrypted rooms present
Part of https://github.com/vector-im/element-web/issues/13895
2020-09-16 15:03:06 +01:00
J. Ryan Stinnett 0d25f62a9a Tweak diagnostics for session backup key 2020-09-16 15:03:06 +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 ada00a3535 Recheck security status on room encryption change
This ensures we are alerted when you first interact with an encrypted room.

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 7be27e70c9 Add component key to actions array 2020-09-16 15:03:06 +01:00
J. Ryan Stinnett 685878a101 Clarify diagnostic about keys in storage
Part of https://github.com/vector-im/element-web/issues/13895
2020-09-16 15:03:06 +01:00
J. Ryan Stinnett 3259ab1f25 Place cross-signing action buttons on a single row
Part of https://github.com/vector-im/element-web/issues/13895
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 StinnettandGitHub 8f3469237a Merge pull request #5200 from matrix-org/jryans/userinfo-scroll-release
Fix user info scrolling in new card view
2020-09-11 15:48:58 +01:00
J. Ryan Stinnett acdabe3ca0 Fix user info scrolling in new card view
Fixes https://github.com/vector-im/element-web/issues/15148
2020-09-11 15:29:47 +01:00
J. Ryan StinnettandGitHub 35e71f4066 Merge pull request #5199 from matrix-org/jryans/stickerpicker-height-release
Fix sticker picker height
2020-09-11 15:08:12 +01:00
J. Ryan StinnettandGitHub d53cbecbb1 Merge pull request #5198 from matrix-org/jryans/userinfo-scroll
Fix user info scrolling in new card view
2020-09-11 14:52:06 +01:00
J. Ryan Stinnett be3a8613ec Fix sticker picker height
Fixes https://github.com/vector-im/element-web/issues/15152
2020-09-11 11:46:25 +01:00
J. Ryan StinnettandGitHub a56a193c2d Merge pull request #5197 from matrix-org/jryans/stickerpicker-height
Fix sticker picker height
2020-09-11 11:45:21 +01:00
J. Ryan Stinnett e49a657a90 Fix user info scrolling in new card view
Fixes https://github.com/vector-im/element-web/issues/15148
2020-09-11 11:39:58 +01:00
J. Ryan Stinnett cd3aa81eed Fix sticker picker height
Fixes https://github.com/vector-im/element-web/issues/15152
2020-09-11 11:12:56 +01:00
J. Ryan StinnettandGitHub e7e6bc93ec Merge pull request #5182 from matrix-org/jryans/defer-cross-signing-setup
Split up cross-signing and secure backup settings
2020-09-11 09:41:40 +01:00
J. Ryan StinnettandGitHub 0573ab1443 Merge pull request #5183 from RiotTranslateBot/weblate-element-web-matrix-react-sdk
Update from Weblate
2020-09-09 14:44:04 +01:00
J. Ryan Stinnett 0219824d6f Merge remote-tracking branch 'origin/develop' into jryans/defer-cross-signing-setup 2020-09-09 14:13:23 +01:00
J. Ryan Stinnett 6d1b1d9460 Fix linting error 2020-09-09 14:12:36 +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 aae68f7d1a Move 4S status to backup panel
This moves the various 4S status diagnostics to the backup panel and out of the
cross-signing panel. The available actions are unchanged as part of this commit,
but they will be updated next.
2020-09-08 15:26:59 +01:00
J. Ryan Stinnett 2fbb551035 Put backup details in a table 2020-09-08 15:26:59 +01:00
J. Ryan Stinnett 217f145910 Switch to imports in backup panel 2020-09-04 13:56:28 +01:00
J. Ryan Stinnett b484bc5e09 Rearrange backup status to always have advanced 2020-09-04 13:56:28 +01:00
J. Ryan Stinnett cc2c179a0f Set default text colour for Settings tabs 2020-09-04 13:56:28 +01:00
J. Ryan Stinnett 19e9e0137c Reorganise backup panel so feature description is always present
This ensure the feature description is always shown at the top.
2020-09-04 13:56:28 +01:00
J. Ryan Stinnett e3f47525e5 Rename backup CSS classes 2020-09-04 13:56:28 +01:00
J. Ryan Stinnett 46bc6b1d14 Rename key backup to secure backup 2020-09-04 13:56:28 +01:00
J. Ryan StinnettandGitHub 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 4ef3ef40db Change to import 2020-09-03 16:47:56 +01:00
J. Ryan Stinnett da6cc5c2e9 Tweak Security settings section headers
This brings us slightly closer to the version Design is working from in terms of
section naming.

Prep for https://github.com/vector-im/element-web/issues/13895
2020-09-03 15:41:17 +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 18d25acf4f Organise cross-signing / secret storage rageshake details
This changes to a common prefix for cross-signing and secret storage details so
they appear all together in the alpha-sorted report.
2020-09-03 13:43:14 +01:00
J. Ryan Stinnett 7efa9ba77d Fix DOM nesting error in cross-signing panel
The spinner can't be inside a `<p>` element. This also changes to block spinner
to match key backup.
2020-09-03 13:23:50 +01:00
J. Ryan StinnettandGitHub 129b9459a3 Merge pull request #5164 from matrix-org/jryans/cross-signing-verif-errors
Only wait for public keys during verification
2020-09-02 15:07:34 +01:00
J. Ryan Stinnett 4262a99f67 Tune cross-signing toasts when 4S is missing
For the case where cross-signing is trusted on device but secret storage does
not exist, we were showing "verify this device", which is not the best match
from the existing toasts. This tunes the checks to instead show "set up
encryption" which is at least a bit closer.

Part of https://github.com/vector-im/element-web/issues/14970
2020-09-02 14:29:41 +01:00
J. Ryan Stinnett dd87e9a2f1 During verification, only check user trust status
As part of new device verification, we were waiting for "cross-signing ready"
which means _both_ the public keys are trusted by this device _and_ private keys
are available. There's no guarantee that the private keys will ever arrive, so
it's too strict to wait for this as a blocking flow. This relaxes things to wait
only for the current device to trust public keys.

Fixes https://github.com/vector-im/element-web/issues/14970
2020-09-02 14:13:36 +01:00
J. Ryan StinnettandGitHub e2acec6059 Merge pull request #5149 from matrix-org/jryans/defer-cross-signing-setup
Migrate to new, separate APIs for cross-signing and secret storage
2020-08-28 12:40:35 +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 StinnettandGitHub 478a239bae Merge pull request #5146 from RiotTranslateBot/weblate-element-web-matrix-react-sdk
Update from Weblate
2020-08-26 11:09:33 +01:00
J. Ryan Stinnett a732c55797 Add secret storage readiness checks
This visits all places that were checking for cross-siging readiness and adapts
them to also check for secret storage readiness if needed.

Part of https://github.com/vector-im/element-web/issues/13895
2020-08-25 13:20:15 +01:00
J. Ryan StinnettandGitHub 8e0742b9fe Merge pull request #5130 from matrix-org/jryans/secure-backup-required
Enforce Secure Backup completion when requested by HS
2020-08-24 17:32:58 +01:00
J. Ryan Stinnett 35f19d53a5 Mention issue for view state store 2020-08-24 16:44:47 +01:00
J. Ryan Stinnett b601a025b5 Use io.element instead of im.vector 2020-08-24 16:33:23 +01:00
J. Ryan Stinnett 2e2f60c20b Use updated waitFor API with well-known 2020-08-24 16:11:35 +01:00
J. Ryan Stinnett e56a61ec68 Invoke Secure Backup flow inside the app when requested by HS
If the Secure Backup required mode is set the client `.well-known` file, then
this will ensure that everyone already inside the app is required to complete
setup matching that policy.

Fixes https://github.com/vector-im/element-web/issues/14954
2020-08-19 16:23:27 +01:00
J. Ryan Stinnett e8e691b746 Avoid adding setup toast in the middle of setup
This improves the experience of going through secret storage setup / reset flows
by avoiding intermittent toasts that appear and disappear in the middle of the
operation.
2020-08-19 16:23:27 +01:00
J. Ryan Stinnett fed7ebb6bc Hide Delete Backup button when Secure Backup required
If Secure Backup is required by the HS admin, then this hides the Delete Backup
button in Settings to ensure everyone keeps their backup per policy.

Part of https://github.com/vector-im/element-web/issues/14954
2020-08-19 16:23:27 +01:00