Commit Graph

1831 Commits (d6161de463e8c0dbb22eeccaa0f766e8c2a405da)

Author SHA1 Message Date
Kerry fbc3228143
Device manager - current device design and copy tweaks (#9801)
* indent device details

* udpate copy for current device security warning

* lint

* test coverage for copy

* strict
2022-12-22 01:58:29 +00:00
Kerry 9a8545bf34
Fix: Editing a poll will silently change it to a closed poll (#9809)
* add failing test case

* dont reset poll disclosure on editing
2022-12-21 21:29:11 +00:00
Michael Weimann 93dd010809
Prevent unnecessary m.direct updates (#9805)
* Prevent unnecessary m.direct updates

Signed-off-by: Michael Weimann <michaelw@matrix.org>

* Replace object with Map

* Clean up comment; simplify code

* Fix rte flaky test (#9811)

* Snap in PiP widget when content changed (#9797)

* Check modified at the end of setDMRoom

* Revert "Snap in PiP widget when content changed (#9797)"

This reverts commit be1e5753677bdf84b3657994dc5ad20d250038bd.

* Revert "Fix rte flaky test (#9811)"

This reverts commit 20d9eb3924c5ebc63f03cb61b172035725e3474d.

* Update src/Rooms.ts

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

Signed-off-by: Michael Weimann <michaelw@matrix.org>
Co-authored-by: Florian Duros <florianduros@element.io>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2022-12-21 09:30:08 -07:00
Germain dd88fbbc3b
Fix checkForPreJoinUISI for thread roots (#9803)
* Fix blank timeline when thread root is UTD

* add test for pre join uisi checks and thread roots

* ts strict fix

* Update to timeline panel test

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

* Fixes to TimelinePanel-test

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2022-12-21 16:03:58 +00:00
Michael Weimann 1614674ca9
Snap in PiP widget when content changed (#9797) 2022-12-21 13:06:26 +00:00
Florian Duros 7db2ee749f
Fix rte flaky test (#9811) 2022-12-21 11:22:17 +00:00
Germain bef8e077f6
Unify notifications panel event design (#9754) 2022-12-21 10:25:50 +00:00
Florian Duros d6e447b934
Load RTE component only when needed (#9804)
Use react lazy to load rte component
2022-12-20 14:59:18 +00:00
Richard van der Hoff ad7c002f4d Merge remote-tracking branch 'origin/develop' into rav/edited_events 2022-12-20 11:20:03 +00:00
Richard van der Hoff dc29317445 Improve display of edited events 2022-12-20 11:19:47 +00:00
Kerry 0485b74acb
Device manager - design tweaks (#9768)
* hover style on dropdown

* hover states

* device details spacing

* device details h3 -> h4

* missing fullstops

* update snapshots for new copy

* device details expand icon bigger

* hide current session security card when details expanded

* filter dropdown padding and hover state

* update cypress selector for device detail heading
2022-12-20 01:17:05 +00:00
Michael Weimann 2152f2ab8b
Stop broadcast playback when stopping the broadcast (#9795) 2022-12-19 16:05:34 +00:00
Germain 8541e1c4b5
Change room list sorting to activity and unread first by default (#9773) 2022-12-19 10:42:58 +00:00
Michael Weimann 35a187a231
Handle starting a call while listen to a broadcast (#9764) 2022-12-19 08:44:19 +00:00
renovate[bot] af3715821b
Update dependency maplibre-gl to v2 (#9699)
* Update dependency maplibre-gl to v2

* update types and mocks for maplibre 2.0

* prettier + strict fix

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Kerry Archibald <kerrya@element.io>
2022-12-18 23:17:15 +00:00
Richard van der Hoff 9901219194 rip out unused mkPresence
it only serves to make the strict type checker complain
2022-12-17 23:52:54 +00:00
Michael Weimann 9584388171
Improve some voice broadcast tests (#9786) 2022-12-16 18:23:29 +00:00
Richard van der Hoff 6ec6d44c96
Add a config flag to enable the rust crypto-sdk (#9759)
This PR adds an option to `config.json` which will make the js-sdk use the rust crypto sdk, instead of the libolm implementation.

To use it, you need to add something like this to `config.json`:

```
    "features": {
        "feature_rust_crypto": true
    },
```

We don't (yet) have any way to migrate a device between implementations, so the setting that was in use when you log in is persisted to the device; it is *visible* via the labs section but cannot currently be changed.

This is part of https://github.com/vector-im/element-web/issues/21972, and enables the functionality added to the js-sdk in https://github.com/matrix-org/matrix-js-sdk/pull/2969.
2022-12-16 17:10:26 +00:00
Michael Weimann 51554399fb
Implement broadcast message preview (#9762) 2022-12-16 11:01:16 +00:00
Michael Weimann 6205c70462
Display broadcast live state only depending on the recording (#9774) 2022-12-16 09:55:54 +00:00
Faye Duxovni 4724506320
Improve decryption error UI by consolidating error messages and providing instructions when possible (#9544)
* Improve decryption error UI by consolidating error messages and providing instructions when possible

* Fix TS strict errors

* Rename .scss to .pcss

* Avoid accessing clipboard, Cypress doesn't like it

* Display DecryptionFailureBar alongside other AuxPanel bars

* Add comments

* Add small margin off-screen for visible decryption failures

* Fix some more TS strict errors

* Add unit tests for DecryptionFailureBar

* Add button to resend key requests manually

* Remove references to matrix-js-sdk crypto internals

* Add hysteresis to visible decryption failures

* Add comment

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

* Add comment

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

* Don't create empty div if we're not showing resend requests button

* cancel updateSessions on unmount

* Update unit tests

* Fix lint and implicit any

* Simplify visible event bounds checking

* Adjust cypress test descriptions

* Add percy snapshots

* Update src/components/structures/TimelinePanel.tsx

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

* Add comments on TimelinePanel IState

* comment

* Add names to percy snapshots

* Show Resend Key Requests button when there are sessions that haven't already been requested via this bar

* We no longer request keys from senders

* update i18n

* update expected text in cypress test

* don't download keys ourselves, update device info in response to updates from client

* fix ts strict errors

* visibledecryptionfailures undefined handling

* Fix implicitAny errors

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-12-15 17:24:33 +00:00
Michael Weimann ab560bba40
Implement small broadcast PiP (#9755) 2022-12-15 11:43:01 +00:00
Michael Weimann ce554276db
Prevent to start two broadcasts at the same time (#9744) 2022-12-14 17:08:42 +00:00
Robin 8869374c6b
Honor font settings in Element Call (#9751)
Because this encodes font settings into widget URLs at the time that the client first loads a call, this has the consequence that users may need to restart their client to see font setting changes take effect in Element Call. For users who rely on these settings for accessibility, it's a lot better than nothing, though.
2022-12-14 13:23:26 +00:00
Kerry aeb9f4373f
Device manager - use deleteAccountData to prune device manager client information events (#9734) 2022-12-14 04:59:23 +00:00
Germain 2d2755d145
🧵 Enable threads by default (#9736)
* Delabs threads

* remove threads reload when labs is toggled

* Fix ts strict

* fix rebase mistake

* remove .only

* fix pr comments

* re-introduce backwards compat

* Fix export test

* Fix SearchREsultTile test

* strict ts
2022-12-13 15:09:15 +00:00
Germain 9668a24ca7
Revert "Check each thread for unread messages. (#9723)" (#9745)
* Revert "Check each thread for unread messages. (#9723)"

This reverts commit 9de5654353.

* ts strict
2022-12-13 14:59:52 +00:00
Michael Weimann a701296f33
Link voice broadcast avatar and room name to room (#9722) 2022-12-13 13:32:19 +01:00
Faye Duxovni 47cc8d6edf
Don't double-add events to threads in tests (#9742) 2022-12-12 15:43:42 -07:00
Faye Duxovni 43f175892a
Fix Prettier errors that slipped past CI (#9741) 2022-12-12 15:43:29 -07:00
Michael Weimann 27c5b793e9
Merge branch 'develop' into weeman1337/prettier 2022-12-12 16:09:11 +01:00
Michael Weimann 57e1822add
Add voice broadcast ended message (#9728) 2022-12-12 16:03:56 +01:00
Michael Weimann dae13ac852
Merge branch 'develop' into weeman1337/prettier 2022-12-12 15:58:30 +01:00
Patrick Cloke 9de5654353
Check each thread for unread messages. (#9723)
Co-authored-by: Germain <germain@souquet.com>
Co-authored-by: Janne Mareike Koschinski <jannemk@element.io>
2022-12-12 14:34:05 +00:00
Michael Weimann 526645c791
Apply prettier formatting 2022-12-12 12:24:14 +01:00
Florian Duros 73986faa7d
Add inline code to rich text editor (#9720)
Add inline code to rich text editor
2022-12-09 14:06:15 +01:00
Florian Duros 65f9843576
Add emoji handling for plain text mode (#9727)
Add emoji handling for plain text mode
2022-12-09 11:38:14 +01:00
Kerry 888e69f39a
Device manage - handle sessions that don't support encryption (#9717)
* add handling for unverifiable sessions

* test

* update types for filtervariation

* strict fixes

* avoid setting up cross signing in device man tests
2022-12-08 21:52:00 +00:00
Kerry 6150b86421
Overlay virtual room call events into main timeline (#9626)
* super WIP POC for merging virtual room events into main timeline

* remove some debugs

* c

* add some todos

* remove hardcoded fake virtual user

* insert overlay events into main timeline without resorting main tl events

* remove more debugs

* add extra tick to roomview tests

* RoomView test case for virtual room

* test case for merged timeline

* make overlay event filter generic

* remove TODOs from LegacyCallEventGrouper

* tidy comments

* remove some newlines

* test timelinepanel room timeline event handling

* use newState.roomId

* fix strict errors in RoomView

* fix strict errors in TimelinePanel

* add type

* pr tweaks

* strict errors

* more strict fix

* strict error whackamole

* update ROomView tests to use rtl
2022-12-08 21:37:25 +00:00
Michael Weimann 1b6d753cfe
Add voice broadcast device selection tooltip (#9726) 2022-12-08 15:27:32 +01:00
Marco Bartelt 95ac957fa4
add-privileged-users-in-room (#9596) 2022-12-08 12:40:31 +01:00
Andy Balaam 0f17728aa1
Merge branch 'develop' into feat/emoji-picker-rich-text-mode 2022-12-08 09:39:30 +00:00
Florian Duros 7943f83858
Change formatting buttons behavior (#9715)
Change formatting buttons behaviour
2022-12-07 12:13:35 +01:00
Michael Weimann 254815cbcf
Tweak voice broadcast chunk decoding (#9713) 2022-12-07 10:37:30 +01:00
Florian Duros bc001c2b88
Fix types 2022-12-06 16:45:25 +01:00
Florian Duros 1bd560d350
Merge remote-tracking branch 'origin/develop' into feat/emoji-picker-rich-text-mode 2022-12-06 16:38:46 +01:00
Florian Duros 27139ca68e
Add test for emoji 2022-12-06 16:38:25 +01:00
Germain 3a501003e2
Add setting to hide bold notifications (#9705) 2022-12-06 09:59:17 +00:00
Michael Weimann 474f464e48
Voice broadcast indicator in room list (#9709) 2022-12-06 10:56:29 +01:00
Michael Weimann 89439d4f10
Further password reset flow enhancements (#9662) 2022-12-06 10:01:25 +01:00
Kerry 82ad8d5aa2
Snooze the bulk unverified sessions reminder on dismiss (#9706)
* test bulk unverified sessions toast behaviour

* unverified sessions toast text tweak

* only show bulk unverified sessions toast when current device is verified

* add Setting for BulkUnverifiedSessionsReminder

* add build config for BulkUnverifiedSessionsReminder

* add more assertions for show/hide toast, fix strict errors

* fix strict error

* add util methods for snoozing in local storage

* rename nag to reminder

* set and read snooze for toast

* test snooze

* remove debug

* strict fix

* remove unused code
2022-12-06 06:18:03 +00:00
Florian Duros 54e12d265b
Merge remote-tracking branch 'origin/develop' into feat/emoji-picker-rich-text-mode 2022-12-05 17:40:46 +01:00
Florian Duros f5efa85882
Fix types and console.log 2022-12-05 17:40:33 +01:00
László Várady 75c2c1a572
Honor advanced audio processing settings when recording voice messages (#9610)
* VoiceRecordings: honor advanced audio processing settings

Audio processing settings introduced in #8759 is now taken into account
when recording a voice message.

Signed-off-by: László Várady <laszlo.varady@protonmail.com>

* VoiceRecordings: add higher-quality audio recording

When recording non-voice audio (e.g. music, FX), a different Opus encoder
application should be specified. It is also recommended to increase the
bitrate to 64-96 kb/s for musical use.

Note: the HQ mode is currently activated when noise suppression is
turned off. This is a very arbitrary condition.

Signed-off-by: László Várady <laszlo.varady@protonmail.com>

* RecorderWorklet: fix type mismatch

src/audio/VoiceRecording.ts:129:67 - Argument of type 'null' is not
assignable to parameter of type 'string | URL'.

Signed-off-by: László Várady <laszlo.varady@protonmail.com>

* VoiceRecording: test audio settings

Signed-off-by: László Várady <laszlo.varady@protonmail.com>

* Fix typos

Signed-off-by: László Várady <laszlo.varady@protonmail.com>

* VoiceRecording: refactor using destructuring assignment

Signed-off-by: László Várady <laszlo.varady@protonmail.com>

* VoiceRecording: add comments about constants and non-trivial conditions

Signed-off-by: László Várady <laszlo.varady@protonmail.com>

Signed-off-by: László Várady <laszlo.varady@protonmail.com>
2022-12-05 11:19:50 -05:00
Michael Weimann f117548b38
Do not resume voice broadcasts on seek (#9686) 2022-12-05 09:43:47 +01:00
Robin 62a740d318
Fix call splitbrains when switching between rooms (#9692)
* Fix call splitbrains when switching between rooms

Mounting CallView causes the user's call membership room state to be cleaned up. However, because the GroupCall object always thought the local device was disconnected from the call, it would remove the local device from room state when the clean method is called, causing a splitbrain. This uses GroupCall's new enteredViaAnotherSession field to fix that, and also simplify participant tracking.

* Remove clean tests that have been moved to matrix-js-sdk
2022-12-02 09:35:31 +01:00
Kerry 81098b9914
Add config setting to disable bulk unverified sessions nag (#9657)
* test bulk unverified sessions toast behaviour

* unverified sessions toast text tweak

* only show bulk unverified sessions toast when current device is verified

* add Setting for BulkUnverifiedSessionsReminder

* add build config for BulkUnverifiedSessionsReminder

* add more assertions for show/hide toast, fix strict errors

* fix strict error
2022-12-02 03:24:45 +00:00
Kerry 5742c24114
Only display bulk unverified sessions nag when current session is verified (PSG-893) (#9656)
* test bulk unverified sessions toast behaviour

* unverified sessions toast text tweak

* only show bulk unverified sessions toast when current device is verified

* add more assertions for show/hide toast, fix strict errors

* fix strict error

* really fix strict error
2022-12-02 02:59:46 +00:00
kegsay 1f703b8898
bugfix: fix an issue where the Notifier would incorrectly fire for non-timeline events (#9664)
* bugfix: fix an issue where the Notifier would incorrectly fire for non-timeline events

This was caused by listening for ClientEvent.Event, not RoomEvent.Timeline.
Fixes https://github.com/vector-im/element-web/issues/17263

* tsc strict checks maybe

* More types?

* Update src/Notifier.ts

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>

* Update src/Notifier.ts

* fix LL test; review comments

* More tests

* More tsc strict checks..

* More strict ts..

* More ts

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-12-01 12:21:56 +00:00
Michael Telatynski ccfb455847
Fix power selector being wrongly disabled for admins themselves (#9681) 2022-12-01 09:49:46 +00:00
Kerry 1d4cbee81c
test bulk unverified sessions toast behaviour (#9655)
* test bulk unverified sessions toast behaviour

* add more assertions for show/hide toast, fix strict errors
2022-12-01 08:47:20 +01:00
Eric Eastwood ca58617cee
Add more debugging for why audio ring/ringback might not be playing (#9642)
* Add more debugging for why audio might not be playing

More debugging for https://github.com/vector-im/element-web/issues/20832

* Listen to events from <audio>

* Make it easier to spot event type

* Move to start/stop functions

* Fix some lints

* Protect from potentially undefined element

* Needs more mocked functions

* More code coverage

* Test formatting

* Add return types

See https://github.com/matrix-org/matrix-react-sdk/pull/9642#discussion_r1036274817

* Add comment on when magic comment is applicable

See https://github.com/matrix-org/matrix-react-sdk/pull/9642#discussion_r1036258757
2022-12-01 04:08:09 +00:00
Robin d2109de4ca
Remove unused Element Call capabilities (#9653)
As of 44e22e268420bd4b24a110840e2edaca46653407 in the Element Call repo, Element Call widgets no longer request the capability to start calls.
2022-11-30 13:54:18 +00:00
Michael Telatynski d258402186
Typescript updates (#9658)
* Typescript updates

* Update @types/node

* Fix more types
2022-11-30 11:32:56 +00:00
Michael Weimann d0fd0cfea0
Update Voice Broadcast buffering style (#9643) 2022-11-30 11:43:58 +01:00
Michael Weimann 459df4583e
Fix start voice broadcast recording while listening (#9630) 2022-11-30 11:16:22 +01:00
Michael Weimann 70a7961681
Update voice broadcast time display (#9646) 2022-11-30 08:47:29 +01:00
Robin 69e03860a0
Show day counts in call durations (#9641)
* Show day counts in call durations

Previously call durations over a day long would be truncated, for example displaying as '2h 0m 0s' instead of '1d 2h 0m 0s'.

* Fix strict mode errors

* Fix strings

Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-11-29 14:21:51 -07:00
Michael Telatynski d341c56b1f
Fix issues around up arrow event edit shortcut (#9645) 2022-11-29 14:55:48 +00:00
Richard van der Hoff f642765149
Pass a client into `RoomNotifs.getRoomNotifsState` (#9631)
Pass an explicit client into `RoomNotifs.getRoomNotifsState`, rather than
relying on `MatrixClientPeg`. This resolves a race condition where we have a
component which thinks it is using a particular component, but
`MatrixClientPeg` has been updated.
2022-11-29 10:55:15 +00:00
Michael Telatynski 8bd60d09dc
Fix search not being cleared when clicking on a result (#9635)
* Fix test naming

* Fix search not being cleared when clicking on a result

* Update RoomView.tsx

* Update RoomView.tsx
2022-11-29 10:36:59 +00:00
Robin 2c612d5aa1
Use native js-sdk group call support (#9625)
* Use native js-sdk group call support

Now that the js-sdk supports group calls natively, our group call implementation can be simplified a bit. Switching to the js-sdk implementation also brings the react-sdk up to date with recent MSC3401 changes, and adds support for joining calls from multiple devices. (So, the previous logic which sent to-device messages to prevent multi-device sessions is no longer necessary.)

* Fix strings

* Fix strict type errors
2022-11-28 16:37:32 -05:00
Michael Weimann 3c7781a561
Stop voice broadcast on delete (#9629) 2022-11-28 18:45:50 +01:00
Florian Duros 033c26ab53
Fix edit a reply in rich text editor (#9615)
Fix edit a reply in rich text editor
2022-11-28 16:01:49 +01:00
Michael Weimann b302275289
Add input device selection during voice broadcast (#9620) 2022-11-28 14:16:44 +00:00
Michael Weimann 5b5c3ab33c
Tweak voice broadcast play icon (#9622) 2022-11-28 12:03:18 +00:00
Michael Weimann e38c59c535
Pause voice broadcast on calls (#9623) 2022-11-28 11:43:59 +00:00
Janne Mareike Koschinski 55d9dbf00d
Fix thread list jumping back down while scrolling (#9606)
* Fix timeline jumping after every thread update

* Add tests to prevent this from occuring again
2022-11-25 13:22:06 +01:00
Michael Weimann 55921e4888
Fix voice broadcast recording (#9617) 2022-11-25 08:47:46 +01:00
Florian Duros d71a72e27c
Add slow jest reporter (#9599)
Add slow jest reporter
2022-11-24 14:53:32 +01:00
Florian Duros 7c63d52500
Add placeholder for rich text editor (#9613)
* Add placeholder for rich text editor
2022-11-24 10:31:56 +00:00
Michael Telatynski 8b8d24c24c
Fix regression with TimelinePanel props updates not taking effect (#9608)
* Fix regression with TimelinePanel props updates not taking effect

* Add test
2022-11-24 09:51:21 +00:00
Michael Weimann a8e15ebe60
Add voice broadcast playback pip (#9603) 2022-11-24 09:08:41 +01:00
Michael Weimann 569a364933
Add filter console test util (#9607) 2022-11-23 09:01:42 +01:00
Germain 40cbee60db
Consolidate public room search experience (#9605) 2022-11-22 15:05:09 +00:00
Germain 7b5e73207f
Fix SpaceTreeLevel enzyme test (#9602) 2022-11-22 09:53:33 +00:00
Michael Weimann e5ce6d7800
New password reset flow (#9581) 2022-11-22 07:58:37 +01:00
Michael Weimann 3f74ac37e8
Refactor PipView + fix strict errors (#9604) 2022-11-22 07:57:38 +01:00
Eric Eastwood 2393510a7f
Fix `getRelationsForEvent` under TypeScript `strict` mode (#9558)
* Fix getRelationsForEvent tsc strictness

* Use shared type for GetRelationsForEvent

* Fix lint

* Add alternative type

* getRelationsForEvent is not required

* Relations are optional

* Reactions are optional

* We expect relations in these tests

* Add more protection if the eventID is not defined

* Allow null too

* Better test typing

* User ID is not necessary unless something is selected

* It's okay to [].includes(null)

* Null is as good as undefined here

* Null or undefined is good here

* We have some expectations for the tests

* The room and user can be undefined too

* Protec

* Reactions are optional

* Try match signatures

* Null or undefined

* More null or undefined

* Protec

* Fix typo (wrong variable)

* Remove optional params

See https://github.com/matrix-org/matrix-react-sdk/pull/9558#discussion_r1017515913

* Fix up last maaaaybe relevant lint

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-11-21 20:54:24 -07:00
Michael Telatynski 8c0d202df4
Enable tsc alwaysStrict, strictBindCallApply, noImplicitThis (#9600)
* Enable tsc alwaysStrict

* Enable tsc strictBindCallApply

* Enable tsc noImplicitThis

* Add d.ts

* Improve types

* Add ?

* Increase coverage

* Improve coverage
2022-11-21 11:24:59 +00:00
Michael Weimann d699f5607b
Add voice broadcast seek 30s forward/backward buttons (#9592) 2022-11-21 08:47:09 +01:00
Kerry caac059479
Device manager - add tooltip to device details toggle (#9594)
* add hide/show tooltip to dm details toggle

* use named export, update tests
2022-11-21 08:24:56 +13:00
kegsay acdcda78f0
sliding sync: add lazy-loading member support (#9530)
* sliding sync: add lazy-loading member support

Also swap to `$ME` constants when referring to our own member event.

* Hook into existing LL logic when showing the MemberList

* Linting

* Use consts in js sdk not react sdk

* Add jest tests

* linting

* Store the room in the test

* Fix up getRoom impl

* Add MemberListStore

* Use the right context in MemberList tests

* Fix RightPanel-test

* Always return members even if we lazy load

* Add MemberListStore tests

* Additional tests
2022-11-18 19:05:00 +00:00
Michael Telatynski d626f71fdd
Extract Search handling from RoomView into its own Component (#9574)
* Extract Search handling from RoomView into its own Component

* Iterate

* Fix types

* Add tests

* Increase coverage

* Simplify test

* Improve coverage
2022-11-18 16:40:22 +00:00
Michael Telatynski 590b845f3f
Remove all usages of UNSAFE_* React methods (#9583) 2022-11-18 09:22:43 +00:00
Germain 38dbe8ed33
Migrate some tests to React Testing Library (#9584) 2022-11-18 09:16:11 +00:00
Michael Weimann ef548a4843
Add live voice broadcast indicator to user menu (#9590) 2022-11-18 08:36:20 +01:00
Florian Duros d5e076bc3d
Use react-testing-library instead of enzyme for useDebouncedCallback 2022-11-17 12:01:31 +01:00
Florian Duros 3243d215e6
Remove useWysiwyg mock (#9578) 2022-11-16 15:38:00 +00:00
Michael Weimann cf3c899dd1
Tweak voice broadcast live icon (#9576) 2022-11-16 16:13:59 +01:00
Germain 663c7e069e
Migrate useTopic test to RTL (#9580) 2022-11-15 14:00:02 +01:00
Germain c10339ad68
Make clear notifications work with threads (#9575) 2022-11-15 10:27:13 +00:00
Michael Telatynski e66027cd0c
Deduplicate string compare utility (#9579) 2022-11-15 10:20:36 +00:00
Michael Weimann 436146105e
Implement voice broadcast device selection (#9572) 2022-11-15 10:02:40 +01:00
Florian Duros 45d53d3404
Update @matrix-org/matrix-wysiwyg dependency 2022-11-14 14:12:09 +01:00
Michael Weimann 18c03daa86
Fix links being mangled by markdown processing (#9570) 2022-11-14 10:52:42 +01:00
Hanadi 212233cb0b
Fix: inline links selecting radio button (#9543)
* fix: inline link selecting radio button
2022-11-14 09:11:37 +00:00
Germain e8d4fbb8ff
Fix missing avatar for show current profiles (#9563) 2022-11-11 16:02:01 +00:00
Michael Weimann fca6ff271c
Extract requestMediaPermissions (#9568) 2022-11-11 10:38:51 +01:00
Germain ee13e23b15
Resilience fix for homeserver without thread notification support (#9565)
* Notification state resilience

* TypeScript strict fixes

* Add tests
2022-11-10 18:01:19 +00:00
Robin 06f69abad9
Don't switch to the home page needlessly after leaving a room (#9477)
Currently, if you leave a room that you're not currently viewing, you'll get sent back to the home page for no reason. This creates needless friction when trying to leave multiple rooms belonging to a space from the room list.

In addition to that fix, this improves the behavior when leaving a subspace, by making it take you to the parent space rather than all the way back home.
2022-11-10 07:34:43 -05:00
Michael Weimann f6347d24ef
Show time left for voice broadcast recordings (#9564) 2022-11-10 10:53:49 +00:00
Michael Telatynski 962e8e0b23
Differentiate download and decryption errors when showing images (#9562) 2022-11-10 09:27:20 +00:00
Michael Weimann abec724387
Add voice broadcast pre-recoding PiP (#9548) 2022-11-10 09:38:48 +01:00
László Várady afdf289a78
Advanced audio processing settings (#8759)
Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
Fixes https://github.com/vector-im/element-web/issues/6278
Fixes undefined
2022-11-09 20:14:55 +00:00
Michael Telatynski da779531f1
Close context menu when a modal is opened to prevent user getting stuck (#9560) 2022-11-09 15:33:09 +00:00
Michael Weimann 7fbdd8bb5d
Handle local events for voice broadcasts (#9561) 2022-11-09 11:17:54 +00:00
Germain 3f3005a3ca
Always use current profile on thread events (#9524) 2022-11-08 10:58:26 +00:00
Michael Weimann 5fb0f5cc3e
Fix LegacyCallHandler-test (#9552) 2022-11-08 09:02:07 +00:00
Eric Eastwood 3cbd88c280
Fix `ThreadView` tests not using thread flag (#9547)
Fixes tests failing from changes made by https://github.com/matrix-org/matrix-js-sdk/pull/2856
2022-11-07 14:21:49 -06:00
Michael Weimann 36a574a14f
Use server side relations for voice broadcasts (#9534) 2022-11-07 14:19:49 +00:00
Michael Telatynski 3747464b41
Make SonarCloud happier (#9545)
* Make SonarCloud happier

* i18n

* Iterate

* Update AddExistingToSpaceDialog.tsx

* Update SlashCommands.tsx
2022-11-07 13:45:34 +00:00
Michael Telatynski 77764d80bc
Fix regressions around media uploads failing and causing soft crashes (#9549) 2022-11-07 11:56:43 +00:00
Florian Duros 5ca9accce2
Improve design of the rich text editor (#9533)
New design for rich text composer
2022-11-04 15:36:50 +00:00
Michael Weimann 66d0b318bc
Add voice broadcast playback seekbar (#9529) 2022-11-04 11:50:19 +01:00
Michael Telatynski 04bc8fb71c
Optimise Jest run in CI (#9542) 2022-11-04 10:48:08 +00:00
Michael Telatynski 28ecdc0cb4
Send layout analytics as WebLayout (#9482) 2022-11-04 09:10:37 +00:00
Michael Telatynski 5f540eb25c
Update types to match js-sdk --strict mode (#9528)
Co-authored-by: Michael Weimann <michaelw@matrix.org>
2022-11-03 12:50:07 +00:00
Hugh Nimmo-Smith f05cc5d8f3
Refactor + improve test coverage for QR login (#9525) 2022-11-02 10:51:20 +00:00
Michael Weimann 9096bd82d6
Extract PlaybackInterface (#9526) 2022-11-02 09:46:42 +01:00
kegsay dcf497d013
sliding-sync: spider all rooms on the user's account for search (#9514)
* sliding-sync: spider all rooms on the user's account for search

On startup, slowly accumulate room metadata for all rooms on the
user's account. This is so we can populate the local search cache
with enough data for it to function, obviating the need to have
separate code paths for sliding sync searches.

This will allow spotlight search to work with slow/no network
connectivity, though clicking on the room will still require a
round trip.

This is an explicit request from @ara4n to improve the snapiness
of room searches, despite the unbounded bandwidth costs requesting
all N rooms on the user's account.

* Comments and tweak defaults

* Review comments; remove SS search code

* bugfix: use setListRanges once the list has been set up

If we don't, then we send needless extra data and can cause
bugs because setList will wipe the index->room_id map, which
trips up SlidingRoomListStore.
2022-11-01 10:27:03 +00:00
Michael Weimann 66c20a0798
Display voice broadcast total length (#9517) 2022-10-31 17:35:02 +00:00
Germain 9b644844da
Fix NotificationBadge unsent color (#9522) 2022-10-31 09:45:02 +00:00
Janne Mareike Koschinski d92fdc1f5b
Loading threads with server-side assistance (#9356)
* Fix bug with message context menu
* fix bug where ThreadSummary failed if no last reply is available
* Fix relations direction API
* Use same API for threads as for any other timeline
* Determine if event belongs to thread on jumping to event
* properly listen to thread deletion
* Add thread redaction tests
* Add fetchInitialEvent tests
* Paginate using default TimelinePanel behaviour
* Remove unused threads deleted code

Co-authored-by: Germain <germain@souquet.com>
Co-authored-by: Germain <germains@element.io>
2022-10-28 13:48:15 +02:00
Michael Weimann c497046e39
Implement voice broadcast `last_chunk_sequence` (#9513) 2022-10-27 16:24:03 +02:00
Germain 07003a5bc1
Make thread replies trigger a room list re-ordering (#9510) 2022-10-27 13:50:05 +01:00
Johannes Marbach af47b74992
Merge pull request #9501 from matrix-org/psg-863/dm-learn-more-rename
Device manager - add extra details to device security and renaming (PSG-863)
2022-10-27 08:40:27 +02:00
Florian Duros 3d1a0ccf12
Merge branch 'develop' into feat/add-plain-text-mode 2022-10-26 19:05:59 +02:00
Florian Duros 92b4c8bf4e
Review clean 2022-10-26 19:05:27 +02:00
Michael Weimann e6a645dfae
Stop voice broadcast from save device on resume (#9509) 2022-10-26 18:59:47 +02:00
Florian Duros d25cbb53b0
Merge branch 'develop' into feat/add-plain-text-mode 2022-10-26 18:56:33 +02:00
Michael Telatynski ee61994c05
Reset custom power selector when blurred on empty (#9508) 2022-10-26 16:14:33 +00:00
Florian Duros 423f87a43a
Merge branch 'develop' into feat/add-plain-text-mode 2022-10-26 17:16:34 +02:00
Florian Duros fb751c3c7b
Add test for plain mode 2022-10-26 17:16:13 +02:00
Michael Weimann 7692533e18
Improve fetch mock setup (#9511)
- Move from language to mock setup file
- Add mock rule for stub image requests
2022-10-26 14:54:45 +00:00
Kerry 31c0988220
Merge branch 'develop' into psg-863/dm-learn-more-rename 2022-10-26 15:09:44 +02:00
kegsay 0453b264e3
Sliding Sync: improve sort order, show subspace rooms, better tombstoned room handling (#9484)
* Add support for include_old_rooms and by_notification_level

* Include subspaces when apply spaces filter

* Remove stray is_tombstoned

* tests: add SlidingRoomListStore jest tests; update proxy version in cypress

* Add additional tests

* Additional tests

* Linting

* Update test/stores/room-list/SlidingRoomListStore-test.ts

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-10-26 14:04:03 +01:00
Florian Duros f1610dae3d
Fix selection 2022-10-26 14:56:41 +02:00
Michael Weimann 625971acb5
Replace voice broadcast running with resumed (#9502) 2022-10-26 12:54:44 +00:00
Michael Weimann 846417a3a8
Unify voice broadcast css (#9504) 2022-10-26 13:45:39 +02:00