* 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>
(cherry picked from commit 93dd010809)
* Use a function that exists on staging
Co-authored-by: Michael Weimann <michaelw@matrix.org>
Co-authored-by: Travis Ralston <travisr@matrix.org>
* 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>
(cherry picked from commit dd88fbbc3b)
Co-authored-by: Germain <germains@element.io>
* 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
* 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
* 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>
* 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
* 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
* 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
* 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>
* 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>
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.
* 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