Commit graph

48459 commits

Author SHA1 Message Date
David Baker
67cb8b7590
Force verification even for refreshed clients (#44)
* Force verification even for refreshed cients

Set a flag on login to remember that the device needs to be verified
so that we don't forget if the user refreshes the page, but still allow
user with an existing unverified session to stay logged in.

* Hopefully make matrixchat tests pass?

Much, much tweaking to make the matrixchat tests pass again. Should
hopefully make them a bit more solid in general with judicious use of
waitFor rather than flushPromises(). Also lots of fun to stop the state
bleeding between tests.

* Manual yarn.lock manipulation

to hopefully resolve infinite package sadness

* Make final test pass(?)

Mock out the createClient method to return the same client, because
we've mocked the peg to always return that client, so if we let the
code make another one having still overridden the peg, everything becomes
cursed.

Also mock out the autodiscovery stuff rather than relying on fetch-mock.

* another waitFor

* death to flushPromises

* Put the logged in dispatch back

Actually it breaks all sorts of other things too, having fixed all the
MatrixChat tests (although this is useful anyway).

* Try displaying the screen in onClientStarted instead

* Put post login screen back in logged in

but move ready transition to avoid flash of main UI

* Rejig more in the hope it does the right thing

* Make hook work before push rules are fetched

* Add test for unskippable verification

* Add test for use case selection

* Fix test

* Add playwright test for unskippable verification

* Remove console log

* Add log message to log line

* Add tsdoc

* Use useTypedEventEmitter

* Remove commented code

* Use catch instead of empty then on unawaited promises

or in one case just await it because the caller was async anyway

* Add new mock
2024-10-03 08:55:06 +00:00
Florian Duros
5d6c19c939
Update emoji text, border and background color (#119) 2024-10-02 14:59:03 +00:00
Michael Telatynski
9895a8fb4f
Disable ICE fallback based on well-known configuration (#111)
* Refactor MatrixClientBackedController.ts

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Disable ICE fallback based on well-known configuration

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Add tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-10-02 14:08:15 +00:00
Michael Telatynski
8a263ac1b0
Remove legacy room header and promote beta room header (#105)
* Remove legacy room header and promote beta room header

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Tidy up

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove unused component

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Prune i18n

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-10-02 12:10:58 +00:00
Michael Telatynski
e60d3bd1ee
Respect io.element.jitsi useFor1To1Calls in well-known (#112)
* Respect `io.element.jitsi` `useFor1To1Calls` in well-known

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-10-02 11:36:11 +00:00
Michael Telatynski
2a183c76c9
Ensure no race condition between page load and waitForRequest set up (#109)
Fixes https://github.com/element-hq/element-web/issues/27572

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-10-02 10:21:44 +00:00
Michael Telatynski
2da5d9b1c1
Remove unused icon files (#107)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-10-02 10:15:45 +00:00
Michael Telatynski
5d9996c281
Use Compound close icon in favour of mishmash of x/close icons (#108)
* Use Compound close icon in favour of mishmash of x/close icons

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove stale CSS

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update snapshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-10-02 10:06:17 +00:00
Florian Duros
c2c316831a
Allow to unpin redacted event (#98) 2024-10-02 08:23:22 +00:00
renovate[bot]
107ba592c8
Update dependency @types/express to v5 (#117)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-01 19:08:37 +00:00
renovate[bot]
9019c5fad3
Update dependency @sentry/browser to v8.32.0 (#116)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-01 17:23:11 +00:00
Florian Duros
33198cca35
Use new AES functions (#97) 2024-10-01 14:12:46 +00:00
Michael Telatynski
f33e802627
Fix untranslated keys being rendered in /help dialog (#90)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-10-01 12:33:07 +00:00
Michael Telatynski
39a0f6e17b
Remove ts-ignores where no longer necessary (#89)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-10-01 08:29:52 +00:00
Richard van der Hoff
36fae00cf3
Change device isolation mode to set errorOnVerifiedUserProblems to false (#104)
https://github.com/element-hq/matrix-react-sdk/pull/92 changed the default mode
for encryption to throw an error when sending a message and the room contains either:
 - a verified user with an unverified device
 - a verifeid user who has changed their identity.

We're not really ready for this (we lack the UI to deal with it), so roll that
back.
2024-09-30 20:33:23 +00:00
Michael Telatynski
33c900e307
Remove right panel toggling behaviour on room header buttons (#100)
* Remove right panel toggling behaviour on room header buttons

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Remove stale test

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-09-30 16:36:24 +00:00
Michael Telatynski
81bb56ae2b
Simplify Jest runs in CI to share failures with merge queue (#103)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-09-30 16:34:48 +00:00
Michael Telatynski
fe402e28bb
Fix flaky mobile registration tests (#102)
* Fix flaky mobile registration tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Discard changes to src/theme.ts

* Add comment

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-09-30 16:34:39 +00:00
David Baker
0b3b499fc4
Fix label sync (#101)
The colours can't have hashes on
2024-09-30 15:31:22 +00:00
Robin
bd793a0970
Allow joining calls and video rooms without enabling the labs flags (#95)
Since Element Call has now reached production on Element X, Element Web needs to be able to at least participate in group calls. Starting a group call or creating a video room will still require the labs flags, for now.

Note that Jitsi-based video rooms are also affected by this change. This is not because we intend to delabs them (rather, we intend to get rid of them in favor of Element Call video rooms), but because it's easiest to handle both video room variants consistently.
2024-09-30 14:07:53 +00:00
Michael Telatynski
4f391645e7
Ensure timeline search results are visible even in video rooms (#96)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-09-30 13:50:17 +00:00
Richard van der Hoff
f28f1d998f
Improve error display for messages sent from insecure devices (#93)
* Add labs option to exclude unverified devices

Add a labs option which will, when set, switch into the "invisible crypto"
mode of refusing to send keys to, or decrypt messages from, devices that have
not been signed by their owner.

* DecryptionFailureBody: better error messages

Improve the error messages shown for messages from insecure devices.

* playwright: factor out `createSecondBotDevice` utility

* Playwright test for messages from insecure devices

* fixup! DecryptionFailureBody: better error messages

Use compound colour tokens, and add a background colour.

* fixup! DecryptionFailureBody: better error messages

Use compound spacing tokens
2024-09-30 12:39:25 +00:00
Richard van der Hoff
be2c1fcf64
Add labs option to exclude unverified devices (#92)
Add a labs option which will, when set, switch into the "invisible crypto"
mode of refusing to send keys to, or decrypt messages from, devices that have
not been signed by their owner.
2024-09-30 10:29:14 +00:00
Michael Telatynski
8962e8cdd3
Improve contrast for timestamps, date separators & spotlight trigger (#91)
* Improve contrast for timestamps and room list search trigger

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update screenshot

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Change timeline separator colour to primary for improved contrast

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update screenshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-09-27 14:22:15 +00:00
Michael Telatynski
ef9e310a25
Pop right panel timeline when unmaximising widget to avoid double timeline (#94)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-09-27 14:10:33 +00:00
renovate[bot]
81192f6989
Update dependency typescript to v5.6.2 (#71)
* Update dependency typescript to v5.6.2

* Fix TS errors

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Florian Duros <florian.duros@ormaz.fr>
2024-09-26 14:25:49 +00:00
Michael Telatynski
34d1875534
Open room settings on room header avatar click (#88)
* Open room settings on room header avatar click

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix nested interactive elements aria fail

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Update things for a11y and update snapshots

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Fix tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Iterate tests

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-09-26 10:14:53 +00:00
Michael Telatynski
3f67819275
Merge pull request #41 from element-hq/t3chguy/wat/230.1 2024-09-26 09:56:08 +01:00
Michael Telatynski
e6404daf3c
Update test assertions
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-09-25 17:34:06 +01:00
Michael Telatynski
9e4348e8f1
Update test assertions
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-09-25 17:27:42 +01:00
Michael Telatynski
dd7479accb
Merge branch 'develop' of github.com:element-hq/matrix-react-sdk into t3chguy/wat/230.1
# Conflicts:
#	src/components/views/settings/CryptographyPanel.tsx
#	test/components/views/settings/tabs/user/__snapshots__/SecurityUserSettingsTab-test.tsx.snap
2024-09-25 17:02:32 +01:00
Michael Telatynski
ad94c39e50
Fix accessible label on left panel spotlight trigger (#87)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-09-25 10:01:38 +00:00
Richard van der Hoff
2e895da39f
Crypto: fix display of device key (#86)
* CryptographyPanel: fix display of device key

* CryptographPanel: Fix HTML nesting

you're not supposed to put <tr> directly inside <table>; doing so causes
warnings.

* Update tests
2024-09-24 15:48:37 +00:00
Michael Telatynski
3c267f9aa4
Update snapshots 2024-09-24 10:53:44 +01:00
Michael Telatynski
3620c5ac62
Merge branch 'develop' into t3chguy/wat/230.1 2024-09-24 10:34:36 +01:00
renovate[bot]
a1bdceed3e
Update dependency @types/node to v18.19.50 (#65)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-23 12:59:52 +00:00
Andrew Ferrazzutti
ef1d4f6c12
Grant Element Call widget capabilities for "raise hand" feature (#82)
* Grant Element Call widget caps for "raise hand"

This allows the widget to send and receive event types used by the
"raise hand" feature (element-hq/element-call#2542) without prompting
the user to grant the capabilities to do so.

* Lint
2024-09-23 10:40:40 +00:00
renovate[bot]
47a9377d63
Update dependency @types/react to v17.0.82 (#66)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-23 09:47:09 +00:00
David Baker
9aa09d4b15
Maybe fix flakey AddRemoveThreepid test (#81)
I have no idea why this is flaking. There are warnings about
things not being wrapped in act() which may be relevant... this makes
the warnings happy, although apparently should not be necessary.
https://github.com/testing-library/user-event/discussions/906 and
https://github.com/testing-library/user-event/issues/497 are
depressing reading (making the versions the same didn't help). I think
my conclusion might be to do this until we're able to upgrade to the
latest testing-library, then re-evaluate.

It still may or may not fix the flake.
2024-09-23 08:29:24 +00:00
renovate[bot]
d56b9ed9bd
Update dependency eslint to v8.57.1 (#68)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-23 08:13:49 +00:00
renovate[bot]
a248788ef9
Update peter-evans/create-pull-request digest to 5e91468 (#64)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-20 11:41:56 +00:00
David Langley
1f5571062e
Mobile registration optimizations and tests (#62)
* Mobile registration optimizations

- don't autocaptialize or autocorrect on username field
- show each password field in their own row
- improve position of tooltip on mobile so that it's visible

* Use optional prop rather than default prop.

* Redirect to welcome screen if mobile_registration is requested but not enabled in the config.

* autocorrect value should be "off"

* Add unit tests for mobile registration

* Fix test typo

* Fix typo
2024-09-20 11:24:39 +00:00
renovate[bot]
4be533813e
Update dependency @sentry/browser to v8.30.0 (#69)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-19 22:42:29 +00:00
renovate[bot]
b055908fa4
Update dependency css-tree to v3 (#74)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-19 22:00:02 +00:00
renovate[bot]
d4c942d813
Update playwright monorepo to v1.47.1 (#73)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-19 21:58:55 +00:00
renovate[bot]
ed7e02ab79
Update dependency stylelint-scss to v6.6.0 (#70)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-19 21:21:12 +00:00
renovate[bot]
5058d664dd
Update Sibz/github-status-action digest to faaa4d9 (#63)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-19 17:18:38 +00:00
renovate[bot]
cf8fe20452
Update dependency express to v4.20.0 [SECURITY] (#26)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-19 17:03:41 +00:00
Florian Duros
fe657027bd
Update to use non deprecated methods to decode recovery key (#54)
* Replace `MatrixClient.keyBackupKeyFromRecoveryKey` by `decodeRecoveryKey`

* Replace `MatrixClient.isValidRecoveryKey` by local check with `decodeRecoveryKey`

* Replace old `decodeRecoveryKey` import

* Remove `matrix-js-sdk/src/crypto/recoverykey` import of  eslint exception

* Add tests for `RestoreKeyBackupDialog`
2024-09-19 15:39:20 +00:00
Florian Duros
490746e56a
Update to use non deprecated methods to derive key from passphrase (#55)
* Replace `deriveKey` call by `deriveRecoveryKeyFromPassphrase`

* Remove `matrix-js-sdk/src/crypto/key_passphrase` import of eslint exception
2024-09-19 13:41:11 +00:00