Commit Graph

41004 Commits

Author SHA1 Message Date
R Midhun Suresh
e5c0cdc402 Just use one ref prop in Field.tsx 2024-11-13 16:35:02 +05:30
Florian Duros
8a756b592c Replace MatrixClient.isRoomEncrypted by MatrixClient.CryptoApi.isEncryptionEnabledInRoom in useIsEncrypted (#28282)
* Replace `MatrixClient.isRoomEncrypted` by `MatrixClient.CryptoApi.isEncryptionEnabledInRoom` in `useIsEncrypted`

* Catch error

* Return `null` when computed

* Use `useRoomState` & `useAsyncMemo`
2024-11-13 10:32:35 +00:00
Florian Duros
c67e67af4e Use new CrytoApi.restoreKeyBackup & CrytoApi.restoreKeyBackupFromPassphrase api (#28385)
* Use new `CrytoApi.restoreKeyBackup` & `CrytoApi.restoreKeyBackupFromPassprhase` api

* Use new `CrytoApi.restoreKeyBackup` api in `SetupEncryptionStore`

* Add tests to `RestoreKeyBackupDialog`
2024-11-13 10:32:06 +00:00
Michael Telatynski
27a43e860a Use React Suspense when rendering async modals (#28386)
* Use React Suspense when rendering async modals

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

* Fix test

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

* Improve coverage

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

* Improve coverage

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

* Improve coverage

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

* Update src/Modal.tsx

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-12 21:19:11 +00:00
R Midhun Suresh
86c6ba9dd7 Make corresponding changes in consumers 2024-11-13 00:36:08 +05:30
R Midhun Suresh
0faf298e05 Fix React 18 strict mode breaking spotlight search
This code originally held an array of refs. But these refs were unset
just before sorting leading to errors.

For the fix, I've used a callback ref to add/remove the DOM elements
to/from the array in state. This way there's nothing that could possibly
mutate just before sort.
2024-11-13 00:28:32 +05:30
RiotRobot
6d1b702214 Merge branch 'master' into develop 2024-11-12 09:46:03 +00:00
Michael Telatynski
231073c578 Merge commit from fork
Handle rendering of invalid date errors
2024-11-12 09:08:32 +00:00
Michael Telatynski
6bc8080ec5 Merge pull request #28387 from element-hq/t3chguy/knip2 2024-11-12 09:01:24 +00:00
David Langley
bff17ff470 Make case consistent 2024-11-11 19:54:05 +00:00
David Langley
c0a313abae Make logic more DRY, simplify logic, improve naming. 2024-11-11 19:38:58 +00:00
Michael Telatynski
db30bc51a1 Deduplicate icons using Compound Design Tokens (#28419)
* Deduplicate icons using Compound Design Tokens

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

* Update screenshots & snapshots

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-11 17:27:22 +00:00
Andrew Ferrazzutti
c8c107405f Let widget driver send error details (#28357)
* Let widget driver send error details

* Match new widget API types

* Don't @link across packages

in case web documentation generation disallows it.

* Update matrix-widget-api

* Update matrix-js-sdk

Include matrix-org/matrix-js-sdk#4507 to fix playwright CI
2024-11-11 16:39:17 +00:00
David Langley
6134cfd9c4 Add mimetype checks
Add checks to validate the advertised mimetype and file extension of stickers, videos and images are coherent.
2024-11-11 15:44:33 +00:00
David Langley
3f70105204 lint 2024-11-11 11:42:18 +00:00
David Langley
4ff08f942d lint 2024-11-11 11:41:50 +00:00
David Langley
29b75385a3 handle rendering of invalid date errors 2024-11-11 11:41:05 +00:00
Robin
d0cddc5b66 Feed events to widgets as they are decrypted (even if out of order) (#28376)
* Refactor feeding of events to widgets

This is a pure refactor with (hopefully) no behavior changes.

* Feed events to widgets as they are decrypted (even if out of order)

The code that feeds events to widgets tries to enforce that only events from the end of the timeline will be passed through. This is to prevent old, irrelevant events from being passed to widgets as the timeline is back-filled. However, since encrypted events need to be decrypted asynchronously, it's not possible to feed them to a widget in a strictly linear order without introducing some kind of blocking or unreliable delivery. This code has been dropping events when they're decrypted out of order, which we consider to be an undesirable behavior.

The solution provided here is that, to reflect the asynchronous nature of decryption, encrypted events that arrive at the end of the timeline will be fed to a widget whenever they finish decrypting, even if this means feeding them out of order. For now we're not aware of any widgets that care about knowing the exact order of events in the timeline, but if such a need reveals itself later, we can explore adding ordering information to this part of the widget API.

* Add braces to if
2024-11-08 14:35:47 +00:00
Michael Telatynski
cb0d72fc2f Merge branch 'develop' into dbkr/stateafter 2024-11-08 09:58:00 +00:00
ElementRobot
536d6ad360 [create-pull-request] automated change (#28409)
Co-authored-by: t3chguy <t3chguy@users.noreply.github.com>
2024-11-08 06:24:40 +00:00
Michael Telatynski
da4672d715 Handle authenticated media when downloading from ImageView (#28379)
* Handle authenticated media when downloading from ImageView

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

* Iterate

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

* Iterate

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

* Iterate

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-11-07 11:43:33 +00:00
Michael Telatynski
74a919cb65 Deduplicate icons using Compound Design Tokens (#28381)
* Deduplicate icons using Compound Design Tokens

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

* Remove unused test images

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

* Update snapshots & screenshots

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-07 11:39:18 +00:00
Timo
5057668705 Auto approvoce io.element.call.reaction capability for element call widgets (#28401) 2024-11-06 20:15:19 +00:00
Michael Telatynski
931edd7419 Merge branch 'develop' into dbkr/stateafter 2024-11-06 15:42:28 +00:00
Michael Telatynski
044eaf7eb5 Update calls to addEventToTimeline and addLiveEvents for new signature
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-06 14:55:21 +00:00
Michael Telatynski
88c72a1514 Ignore m.3pid_changes for Identity service 3PID changes (#28375)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-06 14:33:50 +00:00
Michael Telatynski
d06cf09bf0 Switch secondary React trees to the createRoot API (#28296)
* Switch secondary React trees to the createRoot API

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

* Iterate

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

* Iterate

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

* Add comment

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-06 12:44:54 +00:00
ElementRobot
3ff5a511e5 [create-pull-request] automated change (#28392)
Co-authored-by: t3chguy <t3chguy@users.noreply.github.com>
2024-11-06 06:23:22 +00:00
Michael Telatynski
f3e976d67d Iterate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-05 19:12:43 +00:00
Michael Telatynski
1c06ebadcd Avoid double exports
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-05 18:36:26 +00:00
Michael Telatynski
458b4a45e5 Avoid use of transitive deps
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-05 18:35:53 +00:00
Michael Telatynski
01039137b5 Remove unused types & imports
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-05 18:35:31 +00:00
Michael Telatynski
464be37815 Remove unused enums
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-05 18:34:47 +00:00
Michael Telatynski
7093c9a61b Delete empty unused files
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-05 18:23:57 +00:00
Michael Telatynski
9d79a934bf Flatten Vector-override components (#28346)
* Flatten Vector-override components

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

* Iterate

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

* Iterate

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

* Improve coverage

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

* Iterate

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

* Iterate

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

* Ie

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

* delint

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-05 15:41:00 +00:00
Michael Telatynski
aeabf3b188 Show message type prefix in thread root & reply previews (#28361)
* Extract EventPreview from PinnedMessageBanner

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

* Show message type prefix in thread root previews

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

* Show message type prefix in thread reply preview

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

* Update tests

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-11-05 11:34:42 +00:00
Michael Telatynski
c9d9c421bc Move navigator message listener registration to be synchronously attached (#28340)
to silence Chrome warning

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-05 11:04:14 +00:00
Hubert Chathi
2631b908b6 Update the display of decryption failures due to failed trust requirement (#28300)
* update the display of decryption failures due to failed trust requirement

* add test for not showing shield
2024-11-04 12:46:38 +00:00
Michael Telatynski
502cc91dfe Switch ModalManager to the React 18 createRoot API (#28336)
* Remove boilerplate around dispatcher and settings watchers

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

* Iterate

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

* Move state update listeners from constructor to componentDidMount

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

* Iterate

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

* Switch ModalManager to the React 18 createRoot API

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

* Iterate

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-11-04 11:34:00 +00:00
Michael Telatynski
38e5eeea00 Fix markdown escaping wrongly passing html through (#28363)
* Fix markdown escaping wrongly passing html through

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

* Add comment

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-04 11:31:44 +00:00
Michael Telatynski
1ccbdb21e9 Wire up analytics for Legacy/EC/Jitsi voip options (#28348)
* Wire up analytics for Legacy/EC/Jitsi voip options

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

* Update @matrix-org/analytics-events

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

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-04 09:49:41 +00:00
Michael Telatynski
b1ef099cd6 Show developer jump to event button on all events with associations (#28351)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-04 09:49:35 +00:00
Michael Telatynski
00d46f1c8f Remove unused Security customisations module (#28350)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-11-04 09:49:20 +00:00
ElementRobot
8e304713a2 [create-pull-request] automated change (#28372)
Co-authored-by: t3chguy <t3chguy@users.noreply.github.com>
2024-11-04 06:25:18 +00:00
Michael Telatynski
0899165d9e Move state update listeners from constructor to componentDidMount (#28341)
* Move state update listeners from constructor to componentDidMount

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

* Iterate

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-11-01 17:39:08 +00:00
Michael Telatynski
2d9982f9f0 Remove boilerplate around dispatcher and settings watchers (#28338)
* Remove boilerplate around dispatcher and settings watchers

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

* Iterate

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-11-01 15:15:04 +00:00
ElementRobot
a27dfa1825 [create-pull-request] automated change (#28360)
Co-authored-by: t3chguy <t3chguy@users.noreply.github.com>
2024-11-01 06:26:53 +00:00
Michael Telatynski
195337d865 Pass nodeRef to CSSTransition to avoid ReactDOM.findDOMNode (#28339)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2024-10-31 11:21:19 +00:00
Florian Duros
386b782f2a Remove "Upgrade your encryption" flow in CreateSecretStorageDialog (#28290)
* Remove "Upgrade your encryption" flow

* Rename and remove tests

* Remove `BackupTrustInfo`

* Get keybackup when bootstraping the secret storage.

* Update src/async-components/views/dialogs/security/CreateSecretStorageDialog.tsx

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

---------

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2024-10-30 11:22:05 +00:00
Hugh Nimmo-Smith
c23c9dfacb Use new CryptoApi.encryptToDeviceMessages() to send encrypted to-device messages from widgets (#28315) 2024-10-30 09:37:23 +00:00