Commit Graph

1886 Commits (a803f109a7cc212049ddebe42e8809796b1b74e8)

Author SHA1 Message Date
Travis Ralston c09ca7b4ee
Factor out `MessageEvent.from()` usage (#9882)
* Factor out `MessageEvent.from()` usage

The class/function is disappearing from the events-sdk, at least in this form.

* Manually create contents for events used by cypress

The utility function is out of range of the calling code at runtime, for some reason.

* Run prettier

* Maybe this will fix the build
2023-01-10 09:20:10 -07:00
Travis Ralston 34f0229d75
Remove unused/disabled room list drag&drop tests (#9883)
It's been years since we've had drag and drop - just delete the test.
2023-01-10 09:20:02 -07:00
Johannes Marbach c94a4abe3d
Merge pull request #9873 from matrix-org/johannes/polls-dialog-scaling
Make create poll dialog scale better (PSG-929)
2023-01-10 16:07:49 +01:00
Michael Weimann 4627456837
Prevent starting a voice message while recording a broadcast (#9844) 2023-01-10 15:51:20 +01:00
Johannes Marbach 5dfde12c1c
Merge branch 'develop' into johannes/polls-dialog-scaling 2023-01-10 12:14:50 +01:00
Kerry b1c32995c6
Device manager - prune client information events after remote sign out (#9874)
* prune client infromation events from old devices

* test client data pruning

* remove debug

* strict

* Update src/components/views/settings/devices/useOwnDevices.ts

Co-authored-by: Michael Weimann <michaelw@matrix.org>

* improvements from review

Co-authored-by: Michael Weimann <michaelw@matrix.org>
2023-01-10 07:01:50 +01:00
Michael Weimann 4f0a5d1eb4
Fix broadcast last sequence number (#9858) 2023-01-09 17:18:46 +00:00
Michael Weimann be972bc913
Check connection before starting broadcast (#9857) 2023-01-09 16:08:30 +01:00
Germain 7ca1b385d9 Force enable threads labs flag 2023-01-09 12:38:19 +00:00
Johannes Marbach 214fa13d7d Update snapshots 2023-01-06 17:44:36 +01:00
Michael Weimann 32deddc77e
Merge branch 'develop' into weeman1337/mute-broadcast-notifications 2023-01-05 18:11:55 +01:00
Travis Ralston fb761c70d5
Remove unused function/file (#9863) 2023-01-05 09:11:30 -07:00
Michael Weimann ab9152044c
Use the same avatar colour when creating 1:1 DM rooms (#9850) 2023-01-05 17:05:21 +01:00
Michael Weimann f0f6399189
Merge branch 'develop' into weeman1337/mute-broadcast-notifications 2023-01-05 16:14:40 +01:00
grimhilt ecfd1736e5
combine search results when the query is present in multiple successive messages (#9855)
* merge successives messages

* add tests

* fix styles

* update test to match the expected parameters

* fix types errors

* fix tsc types errors

Co-authored-by: grimhilt <grimhilt@users.noreply.github.com>
Co-authored-by: David Baker <dbkr@users.noreply.github.com>
2023-01-05 11:37:58 +00:00
Michael Weimann f34c1609c3
Disable bubbles for broadcasts (#9860) 2023-01-05 12:33:28 +01:00
Michael Weimann 3a9268e963
Merge branch 'develop' into weeman1337/mute-broadcast-notifications 2023-01-05 09:23:24 +01:00
Michael Weimann 488a08a25e
Allow reactions for broadcasts (#9856) 2023-01-05 08:40:09 +01:00
Robin 720bf0573a
Make calls automatically disconnect if the widget disappears (#9862)
If something goes wrong with the widget, there's no way we can continue the call, so this acts as a safeguard against stuck calls in cases where the widget crashes or disconnects weirdly.
2023-01-04 15:51:42 -05:00
alunturner 432ce3ca31
Improve switching between rich and plain editing modes (#9776)
* allows switching between modes that retains formatting
* updates rich text composer dependency to 0.13.0 (@matrix-org/matrix-wysiwyg)
* improves handling of enter keypresses when ctrlEnterTosend setting is true in plain text editor
* changes the message event content when using the new editor
* adds tests for the changes to the plain text editor
2023-01-04 12:57:09 +00:00
alunturner 3bcea5fb0b
Convert enzyme to rtl: BeaconMarker (#9840) 2023-01-04 10:00:13 +00:00
Robin cb1af0d3de
Redesign the picture-in-picture window (#9800)
* Remove unnecessary PipContainer component

* Redesign the picture-in-picture window

* Add a hover effect to the controls

* Clarify that WidgetPip has call-specific behavior
2023-01-04 04:44:38 +00:00
Michael Weimann 804f0925df
Merge branch 'develop' into weeman1337/mute-broadcast-notifications 2023-01-03 16:54:05 +01:00
Florian Duros 6b155620e4
Fix emoji in RTE editing (#9827)
Fix emoji in RTE editing
2023-01-03 15:35:14 +00:00
Michael Weimann b79912e390
Improve strict typing 2023-01-03 10:16:46 +01:00
Michael Weimann cb4e444a60
Mute broadcast chunk notifications 2023-01-03 10:16:32 +01:00
Marco Bartelt 1b06b72b67
static-user-onboarding-steps (#9799) 2023-01-02 14:34:34 +00:00
Michael Weimann 0f7a2ce6df
Confirm listen to a broadcast while recording (#9831) 2023-01-02 12:21:33 +00:00
Michael Weimann 91e078d96b
Show room broadcast when ending a recording (#9841) 2023-01-02 11:05:51 +00:00
Michael Weimann 3ce064731b
Migrate AppTile-Test to RTL (#9838) 2022-12-30 10:33:10 +00:00
Kedas b0dd0b8aef
Fixes empty content type during upload (#9848)
* Specify exact Content-Type for encrypted uploads

* Add content type check for encrypted file upload

* Fix code style issues
2022-12-30 08:34:38 +00:00
alunturner b034ada6fd
Convert enzyme to rtl: BasicMessageComposer (#9839) 2022-12-29 20:52:51 +00:00
Germain adab82edae
Migrate TextualBody to RTL (#9845) 2022-12-29 16:21:00 +00:00
Germain 1e8b59ea40
Migrate Enzyme to RTL (#9842) 2022-12-29 15:35:19 +00:00
alunturner 6d2d13fdee
Enzyme to rtl: QuickThemeSwitcher (#9843) 2022-12-29 12:44:18 +00:00
Michael Weimann 064a5ad422
Show regular avatar for broadcasts (#9835) 2022-12-29 10:03:24 +00:00
alunturner 49fefb0c32
Convert enzyme to rtl: RightPanel (#9837) 2022-12-29 08:40:42 +00:00
Kerry c0ba1b8a1c
Device manager - contextual menus (#9832)
* add session count to current session contextual signout

* add contextual menu to other sessions section

* typo

* i18n

* strict
2022-12-29 02:08:57 +00:00
alunturner 2e097a00c7
Convert enzyme to rtl: BeaconStatus (#9836)
* rewrite in rtl
* update snapshots
2022-12-28 16:24:46 +00:00
Michael Weimann 100b1d5aa1
Fix broadcast pre-recording check (#9834) 2022-12-28 15:13:37 +00:00
Michael Weimann c257e137aa
Allow call and broadcast PiP at the same time (#9829) 2022-12-28 13:43:44 +00:00
Germain d2763c329d
Migrate AccessibleButton-test to RTL (#9833) 2022-12-28 10:40:34 +00:00
Michael Weimann 2b7d106481
Handle voice broadcast last_chunk_sequence (#9812) 2022-12-28 09:32:49 +00:00
Michael Weimann 539a50ae30
Pause non-live broadcast from other room (#9825) 2022-12-28 09:29:42 +01:00
Michael Weimann 5912c7a637
Replace broadcast instance with SDKContext (#9824) 2022-12-27 08:39:26 +01:00
Michael Weimann 6c40e2476a
Consider own broadcasts from other device as a playback (#9821) 2022-12-23 16:41:18 +00:00
Michael Weimann 32140855fb
When deleting a voice broadcast, also delete related events (#9737) 2022-12-23 15:44:01 +00:00
Michael Weimann a2777d3a03
Add labs setting to force small broadcast chunks (#9806) 2022-12-23 13:45:26 +00:00
Florian Duros fe0273b1a6
Add link creation to rich text editor (#9775)
Add link creation to RTE
2022-12-23 11:34:15 +00:00
Florian Duros 88c3864682
Replace some enzyme tests by @testing-library/react (#9822)
* Replace MessageComposerButtons-test.tsx enzyme by @testing-library/react

* Replace HtmlUtils-test.tsx enzyme by @testing-library/react
2022-12-23 10:46:14 +00:00
Kerry 5b9496aad8
test toastStore (#9823) 2022-12-23 09:35:41 +00:00
Michael Weimann b07bd4d102
Show initial broadcast position in seekbar (#9796) 2022-12-22 14:30:42 +00:00
Germain e9224f6fce
Add mark as read option in room setting (#9798) 2022-12-22 13:18:38 +00:00
Timo ce75d3381f
Pass analyticsID to the elementCall iFrame (#9637)
Co-authored-by: Robin <robin@robin.town>
Co-authored-by: Timo K <timok@element.io>
2022-12-22 12:09:57 +00:00
Michael Weimann b81582d045
Improve live voice broadcast detection by testing if the started event has been redacted (#9780) 2022-12-22 10:37:07 +00:00
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