Commit graph

17466 commits

Author SHA1 Message Date
Michael Weimann
a8e15ebe60
Add voice broadcast playback pip (#9603) 2022-11-24 09:08:41 +01:00
Germain
40cbee60db
Consolidate public room search experience (#9605) 2022-11-22 15:05:09 +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
owi92
d705c864ba
Limit formatting bar offset to top of composer (#9365)
* Limit formatting bar offset to top of composer

When highlighting larger sections in the composer, the formatting bar
would scroll up and cover a previous post. This commit makes sure
the bar's offset will be limited to the top of the composer.

It should also make the code slightly more maintainable by getting the bar height
from the DOMrect and basing the offset on that height instead of hardcoding it.

Resolves: #12359
2022-11-18 14:28:11 +01: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
Kerry
c3de8cbe6b
update device manager verified device learn more copy (#9589) 2022-11-18 11:00:36 +13: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
Hanadi
212233cb0b
Fix: inline links selecting radio button (#9543)
* fix: inline link selecting radio button
2022-11-14 09:11:37 +00:00
Mahdi Bagvand
7c33fc6cf6
fix wrong error message in registration when phone number threepid is in use. (#9571) 2022-11-13 16:58:40 +00:00
Germain
e8d4fbb8ff
Fix missing avatar for show current profiles (#9563) 2022-11-11 16:02:01 +00:00
Germain
1dbf9c205e
fix read receipts trickling down correctly (#9567) 2022-11-11 09:39:35 +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
Arne Wilken
8ebdcab7d9
Change "None" to "Off" in notification options (#9539) 2022-11-10 12:39:14 +00: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 Telatynski
848adfdc10
Add way to create a user notice via config.json (#9559) 2022-11-09 10:50:01 +00:00
Germain
3f3005a3ca
Always use current profile on thread events (#9524) 2022-11-08 10:58:26 +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
Michael Telatynski
be5a8ca3b9
Fix notif panel exception around accessing roomId of undefined (#9546) 2022-11-04 16:40:02 +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
Florian Duros
d744de04c1
Merge branch 'develop' into fix-leave-space-at-bottom 2022-11-03 14:33:29 +01: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
Jaiwanth
3330d5a634
Enable user to zoom beyond image size (#5949)
* Enable user to zoom beyond image size and add cleanup functions to image view

Signed-off-by: Jaiwanth <jaiwanth2011@gmail.com>

* Modify cursor icon and display zoom in and out buttons for smaller images

* Fix indentation

Signed-off-by: Jaiwanth <jaiwanth2011@gmail.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
Co-authored-by: Travis Ralston <travisr@matrix.org>
Co-authored-by: Kerry <kerrya@element.io>
2022-11-03 12:03:21 +00:00
Hanadi92
89d83faaf6 fix: leave space at bottom of space context menu 2022-11-02 22:41:54 +01: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
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
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
aae93a9af2
Cleaner test on body 2022-10-26 19:21:42 +02:00
Florian Duros
0a7f44b226
Add typeof check for body 2022-10-26 19:19:32 +02:00
Florian Duros
39f1dc224c
Add typeof check for body 2022-10-26 19:16:29 +02:00
Florian Duros
c0282e0351
Add check for body 2022-10-26 19:09:17 +02:00
Florian Duros
d25cbb53b0
Merge branch 'develop' into feat/add-plain-text-mode 2022-10-26 18:56:33 +02:00
Florian Duros
928a23e9d0
Fix switching bug and br tag in firefox 2022-10-26 18:18:34 +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
Germain
0f1738b098
Fix getReadReceiptsForEvent for unknown threads (#9507) 2022-10-26 14:19:36 +01: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
Florian Duros
5d86b5ac48
Make initialContent optional is SendWysiwygComposer 2022-10-26 12:41:44 +02:00
Florian Duros
b85b5dacee
Fix cursor position 2022-10-26 12:39:18 +02:00
Kerry Archibald
35e45136b4 add learn more to device security cards 2022-10-26 11:30:32 +02:00
Kerry Archibald
038fb53b69 extract device security learn more with content into component 2022-10-26 11:17:47 +02:00
Kerry Archibald
bb4bffe1e8 learn more for session renaming 2022-10-26 11:05:31 +02:00
Kerry
69642544ac
Device manager - add learn more popups to filtered sessions section (#9497)
* add learn more to filtered sessions

* fullstop

* update tests and i18n for fullstop

* remove unused switch

* whitespace

* use correct card type
2022-10-26 11:04:16 +02:00
Florian Duros
bdaa1acf59
Invert composer mode icon 2022-10-26 10:42:18 +02:00
Travis Ralston
8d6a67e67d
Fully move auth types to js-sdk (#9499)
* Fully move auth types to js-sdk

The SSO buttons were the only consumer of these types, so let's just move them. They've been in the js-sdk for a while now, and webpack is screaming about missing exports (because they're all interfaces and types, which don't exist after transpiling).

* Fix the other cases too
2022-10-25 17:00:23 -06:00
Germain
306a2449e5
Show thread notification if thread timeline is closed (#9495)
* Show thread notification if thread timeline is closed

* Simplify isViewingEventTimeline statement

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

* Fix show desktop notifications

* Add RoomViewStore thread id assertions

* Add Notifier tests

* fix lint

* Remove it.only

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-10-25 16:53:31 +00:00
Florian Duros
c7dbb5947f
Keep content when switching between rich text and plain text mode 2022-10-25 18:33:25 +02:00
Florian Duros
50279c8870
Add basic plain text editor 2022-10-25 17:26:14 +02:00
Germain
249474b430
Only render NotificationBadge when needed (#9493) 2022-10-25 14:31:38 +01:00
Florian Duros
b5ab1239ed
Merge branch 'develop' into feat/add-message-edition-wysiwyg-composer 2022-10-25 10:42:29 +02:00
Kerry
d473b4ac4a
Device manager - confirm sign out of other sessions (PSG-921) (#9487)
* change testid attribute for dialog buttons to rtl friendly

* add confirm dialog for signing out sessions

* cleanup commented

* update cypress tets

* clear modals before test

* missing modal in jest tests on ci only
2022-10-25 10:39:48 +02:00
Florian Duros
787acbcc31
Merge branch 'develop' into feat/add-message-edition-wysiwyg-composer 2022-10-25 10:32:29 +02:00
Florian Duros
fda4dabf6d
Fix MessageComposer test 2022-10-24 15:03:18 +02:00
Robin
daf097e123
Fix joining calls without audio or video inputs (#9486)
The lobby view was requesting a stream with both video and audio, even if the system lacked video or audio devices. Requesting one of audio or video is enough to get all device labels.
2022-10-24 09:03:05 -04:00
Florian Duros
de86221c72
Merge remote-tracking branch 'origin/develop' into feat/add-message-edition-wysiwyg-composer 2022-10-24 14:41:27 +02:00
Florian Duros
50c29502e4
Add new tests for WysiwygComposer 2022-10-24 12:35:09 +02:00
Michael Telatynski
eafc2d23a7
Ensure spaces in the spotlight dialog have rounded square avatars (#9480) 2022-10-24 08:58:36 +00:00
Michael Telatynski
913af09e61
Convert some tests from Enzyme to RTL (#9483) 2022-10-24 09:06:20 +01:00
Germain
9eb4f8d723
Add thread notification with server assistance (MSC3773) (#9400)
Co-authored-by: Janne Mareike Koschinski <janne@kuschku.de>
2022-10-24 07:50:21 +01:00
Michael Telatynski
8ae67aa4dd
Only show mini avatar uploader in room intro when no avatar yet exists (#9479) 2022-10-21 14:45:38 +01:00
Michael Telatynski
fde9a527a7
Improve typing (#9474) 2022-10-21 11:44:33 +01:00
Florian Duros
c9bf7da629
Fix send message on enter 2022-10-21 10:35:54 +02:00
Florian Duros
4d089dcc05
Merge remote-tracking branch 'origin/develop' into feat/add-message-edition-wysiwyg-composer 2022-10-21 10:15:46 +02:00
Michael Weimann
5f59ce182e
Resume voice broadcast on load (#9475) 2022-10-21 09:30:02 +02:00
Florian Duros
5987a6889b
Add styling to editing 2022-10-20 17:31:17 +02:00
Germain
be281fd735
Fix threads fallback incorrectly targets root event (#9229)
* Use RelationType enum instead of hardcoded value

* Fix threads replies fallback to target last reply

* Only unsubscribe from threads events if needed

* fix strict null check

* fix strict null checks

* strict null checks

* fix typing

* Unsubscribe listeners if new thread is `null`

Co-authored-by: Faye Duxovni <fayed@element.io>

* Update strict null checks

* Type HTMLElement as nullable

* Add thread fallback integration test

* lint fix

* Update snapshots

* Add test after changing thread

* Remove test comment

* update snapshot

* fix room context test utility

* Add ThreadListContextMenu test

* lint fix

* fix thread rendering

Co-authored-by: Faye Duxovni <fayed@element.io>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-10-20 12:48:25 +01:00
Florian Duros
072c767b68
Fix suppression when message is empty 2022-10-20 11:52:50 +02:00
Florian Duros
5e6d0f6404
Copy css for edition 2022-10-20 10:53:57 +02:00
Michael Weimann
3c9ba3e69f
Replace Icon with webpack loaded SVG (#9464) 2022-10-20 09:04:14 +01:00
Travis Ralston
dade38086c
Fix slightly noisy warning when switching spaces (#9468)
Sometimes `spaceName` can be `undefined` because of function timing - use a different method for getting the space's name when this happens.
2022-10-20 00:52:06 -06:00
kegsay
17c3fb89c1
Store refactor: convert WidgetPermissionStore (#9458)
* Store refactor: convert WidgetPermissionStore

Add Jest tests as well.

* More tests

* Review comments
2022-10-19 22:00:53 +02:00
Florian Duros
e9b285c5e0
Cleaning files 2022-10-19 19:44:49 +02:00
Florian Duros
c7e83baa36
Remove unused parameters 2022-10-19 19:29:42 +02:00
Florian Duros
63c3a55758
Disable save button until change 2022-10-19 18:57:49 +02:00
Florian Duros
0a65d919a1
Fix typing 2022-10-19 18:17:03 +02:00
Kerry
d5a4718d46
Test display of qr code login section (#9456)
* Support for login + E2EE set up with QR

* Whitespace

* Padding

* Refactor of fetch

* Whitespace

* CSS whitespace

* Add link to MSC3906

* Handle incorrect typing in MatrixClientPeg.get()

* Use unstable class name

* fix: use unstable class name

* Use default fetch client instead

* Update to revised function name

* Refactor device manager panel and make it work with new sessions manager

* Lint fix

* Add missing interstitials and update wording

* Linting

* i18n

* Lint

* Use sensible sdk config name for fallback server

* Improve error handling for QR code generation

* Refactor feature availability logic

* Hide device manager panel if no options available

* Put sign in with QR behind lab setting

* Reduce scope of PR to just showing code on existing device

* i18n updates

* Handle null features

* Testing for LoginWithQRSection

* Refactor to handle UIA

* Imports

* Reduce diff complexity

* Remove unnecessary change

* Remove unused styles

* Support UIA

* Tidy up

* i18n

* Remove additional unused parts of flow

* Add extra instruction when showing QR code

* Add getVersions to server mocks

* Use proper colours for theme support

* Test cases

* Lint

* Remove obsolete snapshot

* Don't override error if already set

* Remove unused var

* Update src/components/views/settings/devices/LoginWithQRSection.tsx

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Update src/components/views/auth/LoginWithQR.tsx

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Update src/components/views/auth/LoginWithQR.tsx

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Update src/components/views/auth/LoginWithQR.tsx

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Update src/components/views/auth/LoginWithQR.tsx

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Update src/components/views/auth/LoginWithQR.tsx

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Update res/css/views/auth/_LoginWithQR.pcss

Co-authored-by: Kerry <kerrya@element.io>

* Use spacing variables

* Remove debug

* Style + docs

* preventDefault

* Names of tests

* Fixes for js-sdk refactor

* Update snapshots to match test names

* Refactor labs config to make deployment simpler

* i18n

* Unused imports

* Typo

* Stateless component

* Whitespace

* Use context not MatrixClientPeg

* Add missing context

* Type updates to match js-sdk

* Wrap click handlers in useCallback

* Update src/components/views/settings/DevicesPanel.tsx

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Wait for DOM update instead of timeout

* Add missing snapshot update from last commit

* Remove void keyword in favour of then() clauses

* test main paths in LoginWithQR

* test coverage for display of qr code section

* remove unused test props

Co-authored-by: Hugh Nimmo-Smith <hughns@matrix.org>
Co-authored-by: Hugh Nimmo-Smith <hughns@users.noreply.github.com>
Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-10-19 15:11:42 +00:00
Florian Duros
e77f333fb6
Merge remote-tracking branch 'origin/develop' into feat/add-message-edition-wysiwyg-composer 2022-10-19 16:34:22 +02:00
kegsay
13fbd096b0
Stores refactor: convert TypingStore; rename TestStores to TestSdkContext (#9454) 2022-10-19 14:14:14 +01:00
Michael Weimann
bb0c175b7e
Display info dialogs if unable to start voice broadcasts (#9453) 2022-10-19 15:01:14 +02:00
Hugh Nimmo-Smith
3c3df11d32
Support for login + E2EE set up with QR (#9403)
* Support for login + E2EE set up with QR

* Whitespace

* Padding

* Refactor of fetch

* Whitespace

* CSS whitespace

* Add link to MSC3906

* Handle incorrect typing in MatrixClientPeg.get()

* Use unstable class name

* fix: use unstable class name

* Use default fetch client instead

* Update to revised function name

* Refactor device manager panel and make it work with new sessions manager

* Lint fix

* Add missing interstitials and update wording

* Linting

* i18n

* Lint

* Use sensible sdk config name for fallback server

* Improve error handling for QR code generation

* Refactor feature availability logic

* Hide device manager panel if no options available

* Put sign in with QR behind lab setting

* Reduce scope of PR to just showing code on existing device

* i18n updates

* Handle null features

* Testing for LoginWithQRSection

* Refactor to handle UIA

* Imports

* Reduce diff complexity

* Remove unnecessary change

* Remove unused styles

* Support UIA

* Tidy up

* i18n

* Remove additional unused parts of flow

* Add extra instruction when showing QR code

* Add getVersions to server mocks

* Use proper colours for theme support

* Test cases

* Lint

* Remove obsolete snapshot

* Don't override error if already set

* Remove unused var

* Update src/components/views/settings/devices/LoginWithQRSection.tsx

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Update src/components/views/auth/LoginWithQR.tsx

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Update src/components/views/auth/LoginWithQR.tsx

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Update src/components/views/auth/LoginWithQR.tsx

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Update src/components/views/auth/LoginWithQR.tsx

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Update src/components/views/auth/LoginWithQR.tsx

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Update res/css/views/auth/_LoginWithQR.pcss

Co-authored-by: Kerry <kerrya@element.io>

* Use spacing variables

* Remove debug

* Style + docs

* preventDefault

* Names of tests

* Fixes for js-sdk refactor

* Update snapshots to match test names

* Refactor labs config to make deployment simpler

* i18n

* Unused imports

* Typo

* Stateless component

* Whitespace

* Use context not MatrixClientPeg

* Add missing context

* Type updates to match js-sdk

* Wrap click handlers in useCallback

* Update src/components/views/settings/DevicesPanel.tsx

Co-authored-by: Travis Ralston <travisr@matrix.org>

* Wait for DOM update instead of timeout

* Add missing snapshot update from last commit

* Remove void keyword in favour of then() clauses

* test main paths in LoginWithQR

Co-authored-by: Travis Ralston <travisr@matrix.org>
Co-authored-by: Kerry <kerrya@element.io>
2022-10-19 13:31:20 +01:00
kegsay
e946674df3
Store refactor: use non-global stores in components (#9293)
* Add Stores and StoresContext and use it in MatrixChat and RoomView

Added a new kind of class:
- Add God object `Stores` which will hold refs to all known stores and the `MatrixClient`. This object is NOT a singleton.
- Add `StoresContext` to hold onto a ref of `Stores` for use inside components.

`StoresContext` is created via:
- Create `Stores` in `MatrixChat`, assigning the `MatrixClient` when we have one set. Currently sets the RVS to `RoomViewStore.instance`.
- Wrap `MatrixChat`s `render()` function in a `StoresContext.Provider` so it can be used anywhere.

`StoresContext` is currently only used in `RoomView` via the following changes:
- Remove the HOC, which redundantly set `mxClient` as a prop. We don't need this as `RoomView` was using the client from `this.context`.
- Change the type of context accepted from `MatrixClientContext` to `StoresContext`.
- Modify alllll the places where `this.context` is used to interact with the client and suffix `.client`.
- Modify places where we use `RoomViewStore.instance` and replace them with `this.context.roomViewStore`.

This makes `RoomView` use a non-global instance of RVS.

* Linting

* SDKContext and make client an optional constructor arg

* Move SDKContext to /src/contexts

* Inject all RVS deps

* Linting

* Remove reset calls; deep copy the INITIAL_STATE to avoid test pollution

* DI singletons used in RoomView; DI them in RoomView-test too

* Initial RoomViewStore.instance after all files are imported to avoid cyclical deps

* Lazily init stores to allow for circular dependencies

Rather than stores accepting a list of other stores in their constructors,
which doesn't work when A needs B and B needs A, make new-style stores simply
accept Stores. When a store needs another store, they access it via `Stores`
which then lazily constructs that store if it needs it. This breaks the
circular dependency at constructor time, without needing to introduce
wiring diagrams or any complex DI framework.

* Delete RoomViewStore.instance

Replaced with Stores.instance.roomViewStore

* Linting

* Move OverridableStores to test/TestStores

* Rejig how eager stores get made; don't automatically do it else tests break

* Linting

* Linting and review comments

* Fix new code to use Stores.instance

* s/Stores/SdkContextClass/g

* Update docs

* Remove unused imports

* Update src/stores/RoomViewStore.tsx

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

* Remove empty c'tor to make sonar happy

Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-10-19 13:07:03 +01:00
Florian Duros
460f60e99d
First attempt to make the edition works in the WysiwygComposer 2022-10-19 12:45:51 +02:00
Michael Weimann
84f2974b57
Always show voice broadcasts tile (#9444) 2022-10-19 12:04:15 +02:00
Andy Balaam
e0ab0ac5c9
Allow pressing Enter to send messages in new composer (#9451)
* Allow pressing Enter to send messages in new composer

* Cypress tests for composer send behaviour
2022-10-19 03:07:21 +00:00
Johannes Marbach
26f3d107fd
Set relations helper when creating event tile context menu (#9253)
* Set relations helper when creating event tile context menu

Fixes vector-im/element-web#22018

Signed-off-by: Johannes Marbach <johannesm@element.io>

* Add e2e tests

* Use idiomatic test names

Signed-off-by: Johannes Marbach <johannesm@element.io>
Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-10-18 13:06:43 -06:00
Kerry
b04991a962
Device manager - put client/browser device metadata in correct section (#9447) 2022-10-18 13:00:01 +00:00
Michael Telatynski
0ef8c80815
Fix usages of useContextMenu which never pass the ref to the element (#9449) 2022-10-18 13:39:59 +01:00
Robin
57eec824d9
Don't show call banners in video rooms (#9441) 2022-10-17 21:47:05 -06:00
Timo
372720ec8b
Room call banner (#9378)
Signed-off-by: Timo K <timok@element.io>
Co-authored-by: Timo K <timok@element.io>
Co-authored-by: Robin <robin@robin.town>
2022-10-17 21:36:17 +02:00
Michael Telatynski
13db1b17be
Prevent useContextMenu isOpen from being true if the button ref goes away (#9418) 2022-10-17 17:42:04 +01:00
Kerry
877c95df8f
device manager - add spinners while devices are signing out (#9433) 2022-10-17 17:14:49 +02:00
Andy Balaam
e38c9e036c
Automatically focus the WYSIWYG composer when you enter a room (#9412)
Automatically focus the WYSIWYG composer when you enter a room
2022-10-17 11:48:47 +00:00
Robin
1d1860842e
Improve the tooltips on the call lobby join button (#9428)
Currently they display a redundant 'Join' tooltip on hover, and place the tooltip on the left. This removes the redundant tooltip and places the tooltip below the button, which looks a bit more balanced.
2022-10-17 08:58:38 +01:00
Michael Weimann
195065b217
Voice Broadcast recording pip (#9385) 2022-10-14 18:12:26 +00:00
Robin
aa57d1287d
Hide virtual widgets from the room info panel (#9424) 2022-10-14 17:04:29 +00:00
Florian Duros
4e8b731d2c
Merge branch 'develop' into feat/reply-support-wysiwyg-composer 2022-10-14 15:53:19 +02:00
Florian Duros
4ba3f99489
Add reply support to WysiwygComposer 2022-10-14 15:52:05 +02:00
Šimon Brandner
54008cff58
Disconnect other connected devices (of the same user) when joining an Element call (#9379) 2022-10-14 15:17:49 +02:00
Michael Telatynski
ba5bd74ac8
Inhibit clicking on sender avatar in threads list (#9417) 2022-10-14 12:48:17 +01:00
Kerry
17fce6ccb2
Device manager - device tile main click target (#9409)
* change device tile click to toggle details instead of selection

* lint

* test current device section click

* stuck cypress
2022-10-14 12:43:20 +01:00
Florian Duros
1638c5a213
Merge branch 'develop' into feat/add-formating-buttons-to-wysiwyg 2022-10-14 10:57:23 +02:00
Florian Duros
c0bf45fddc
Rename wysiwyg prop into composer 2022-10-14 10:56:34 +02:00
Florian Duros
6b6af28ea9
Use MouseEventHandler as type 2022-10-14 10:28:04 +02:00
Michael Weimann
bbb02c30d9
Update voice broadcast header to new design (#9415) 2022-10-14 08:09:38 +00:00
Florian Duros
3ecd67aa80
Merge branch 'develop' into feat/add-formating-buttons-to-wysiwyg 2022-10-14 09:44:32 +02:00
Michael Weimann
49d9e75235
Voice Broadcast playback UI (#9362)
* Implement Voice Broadcast UI

* Update src/voice-broadcast/models/VoiceBroadcastPlayback.ts

Co-authored-by: Travis Ralston <travisr@matrix.org>

Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-10-13 22:13:17 -06:00
Florian Duros
0f2652c866
Change icon 2022-10-13 17:50:46 +02:00
Florian Duros
ac8397aa0f
Fix test 2022-10-13 16:46:47 +02:00
Florian Duros
f85f53248b
Merge remote-tracking branch 'origin/develop' into feat/add-formating-buttons-to-wysiwyg 2022-10-13 12:42:21 +02:00
Florian Duros
01858354f8
Add formatting buttons for WysisygComposer 2022-10-13 12:20:31 +02:00
Michael Telatynski
1800cb8c71
Remove unused packages and fix invariant violation on AsyncStore onNotReady (#9404)
* Remove traces of browser-request & mocha

* Remove unused matrix-react-test-utils

* Fix dispatcher invariant violation

* Add null-guard

* Improve types

* Fix null-guard

* Fix issue with authed users going directly to /#/login
2022-10-13 09:22:32 +01:00
Kerry
776ffa4764
Device manager - current session context menu (#9386)
* add destructive option and close on interaction options

* add kebab context menu wrapper

* use kebab context menu in current device section

* use named export

* lint

* sessionman tests
2022-10-13 09:07:34 +02:00
Michael Telatynski
8b54be6f48
Move from browser-request to fetch (#9345) 2022-10-12 18:59:07 +01:00
Michael Weimann
cd806427c8
Add MessageEvent voice broadcast setting watch (#9399) 2022-10-12 11:34:41 -06:00
Michael Weimann
7cb2f941d3
Fix Icon (#9401) 2022-10-12 17:21:32 +00:00
Michael Weimann
533eda2273
Extract voice broadcast header (#9393) 2022-10-12 14:00:37 +00:00
Kerry
03182d03be
Device manager - add settings subsection heading component (#9387)
* add settings subsection heading component

* use named export

* newline
2022-10-11 20:12:02 +02:00
Kerry
87d3fbd996
Device manager - promote to beta (#9380)
* promote new session manager to beta

* hide old sessions section when new dm enabled

* use correct logic

* add new ViewUserDeviceSettings action

* replace device management ctas with viewUserDeviceSettings

* test SecurityUserSettingsTab

* more complete mocks

* more thorough mocks

* more mocks

* test LabsUserSettingsTab

* lint

* updated copy

* update snaps for new copy
2022-10-11 11:10:55 +02:00
Florian Duros
0dd9aba47f
Fix aria-disabled 2022-10-11 10:10:15 +02:00
Florian Duros
70f57797f5
Add more todo in message.ts 2022-10-10 17:38:41 +02:00
Florian Duros
5bdac78fc7
Merge remote-tracking branch 'origin/develop' into feat/matrix-wysisyg-integration 2022-10-10 17:04:27 +02:00
Florian Duros
101fd629df
Add WysiwygComposer test 2022-10-10 16:50:36 +02:00
Florian Duros
200af78c2a
Use published matrix-wysisyg 2022-10-10 14:28:30 +02:00
Florian Duros
3080d14c00
Remove unused localstorage hook 2022-10-10 11:17:39 +02:00
Florian Duros
667e8ef10f
Add tests to message.ts 2022-10-10 11:16:42 +02:00
Šimon Brandner
bb71c86c8a
Add Element Call participant limit (#9358) 2022-10-07 20:16:35 +00:00
Šimon Brandner
5680d13acf
Handle missing Element Call brand (#9376) 2022-10-07 21:55:48 +02:00
Šimon Brandner
26a74a193f
Add Element Call room settings (#9347)
Co-authored-by: Robin <robin@robin.town>
2022-10-07 18:10:17 +00:00
Šimon Brandner
6b1ee13c28
Always allow enabling sending read receipts (#9367)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-10-07 15:10:18 +02:00
Florian Duros
bcc53fc337
Add style for WysiwygComposer 2022-10-07 11:46:57 +02:00
Florian Duros
c7f912529d
Move mxClient to object in sendMessage 2022-10-07 11:02:22 +02:00
Florian Duros
21677e67e8
Remove unused MatrixClient 2022-10-07 10:56:50 +02:00
Florian Duros
4938aa8f74
Remove unused code 2022-10-07 10:53:50 +02:00
Florian Duros
a50329fb97
Focus and clear content after sending a message 2022-10-07 10:52:19 +02:00
Kerry
c9f5d57fa0
Device manager - render extended device information (#9360)
* record device client inforamtion events on app start

* matrix-client-information -> matrix_client_information

* fix types

* remove another unused export

* add docs link

* display device client information in device details

* update snapshots

* integration-ish test client information in metadata

* tests

* fix tests

* export helper

* DeviceClientInformation type

* Device manager - select all devices (#9330)

* add device selection that does nothing

* multi select and sign out of sessions

* test multiple selection

* fix type after rebase

* select all sessions

* rename type

* use ExtendedDevice type everywhere

* rename clientName to appName for less collision with UA parser

* fix bad find and replace

* rename ExtendedDeviceInfo to ExtendedDeviceAppInfo

* rename DeviceType comp to DeviceTypeIcon

* update tests for new required property deviceType

* add stubbed user agent parsing

* setup test cases

* detect device type correctly

* 80% working ua parser

* parse asera gents for device info

* combine clientName/Version into one field, remove debug from tests

* add new metadata to device details

* render device info from UA
2022-10-07 08:49:35 +00:00
Robin
06dbea6255
New group call experience: Room header and PiP designs (#9351)
* Update our cancel icon

The cancel icon we're using in the app has drifted out of sync with the ones used in our designs. We also had two identical-looking icons, so this consolidates them into one.

I've simultaneously updated our chevron icons, since in the case of the 'jump to unread' timeline button, it became clear that the weight of the new close icon did not match the thinner chevron.

* Don't squish bottom/top-aligned tooltips near the edge of the screen

* Close the timeline panel when returning to the fullscreen timeline view

* Add layout switching capabilities to ElementCall

* Bring the room header in line with the group call designs

* Bring the PiP header in line with the group call designs

* Fix lints

* Clarify tooltip CSS calculations

* Test PipView

* Expand RoomHeader test coverage

* Test PipView more
2022-10-07 02:27:28 +00:00
Šimon Brandner
6356a8c056
Add notifications and toasts for Element Call calls (#9337) 2022-10-06 14:27:12 +00:00
Kerry
5e18abe7f7
Device manager - device type icon (#9355)
* record device client inforamtion events on app start

* matrix-client-information -> matrix_client_information

* fix types

* remove another unused export

* add docs link

* display device client information in device details

* update snapshots

* integration-ish test client information in metadata

* tests

* fix tests

* export helper

* DeviceClientInformation type

* Device manager - select all devices (#9330)

* add device selection that does nothing

* multi select and sign out of sessions

* test multiple selection

* fix type after rebase

* select all sessions

* rename type

* use ExtendedDevice type everywhere

* rename clientName to appName for less collision with UA parser

* fix bad find and replace

* rename ExtendedDeviceInfo to ExtendedDeviceAppInfo

* rename DeviceType comp to DeviceTypeIcon

* update tests for new required property deviceType

* add stubbed user agent parsing

* add icons

* set device type icon

* device type icon tets

* update snapshots for device type icon changes

* desktop icon viewbox

* i18n
2022-10-06 10:34:11 +00:00
Oliver Sand
191b0a1517
Fix applying programmatically set height for "top" room layout (#9339)
* Fix applying programmatically set height for "top" room layout

When applying a room layout automatically (e.g. via `io.element.widgets.layout` state event), in cases the layout mode container it set to "top", the height was previously not correctly updated.

Signed-off-by: Oliver Sand <oliver.sand@nordeck.net>

* Add cypress tests

Signed-off-by: Oliver Sand <oliver.sand@nordeck.net>
2022-10-05 14:58:27 -06:00
Travis Ralston
f92f7beb47
Delete the remainder of groups (#9357)
* Delete the remainder of groups

Fixes https://github.com/vector-im/element-web/issues/22770
Continues https://github.com/matrix-org/matrix-react-sdk/pull/8027

* Don't need the strings either
2022-10-05 17:44:46 +00:00
Florian Duros
1d820cf837
Remove console, unused variables... 2022-10-05 14:59:02 +02:00
Kerry
bd270b08df
Device manager - add foundation for extended device info (#9344)
* record device client inforamtion events on app start

* matrix-client-information -> matrix_client_information

* fix types

* remove another unused export

* add docs link

* display device client information in device details

* update snapshots

* integration-ish test client information in metadata

* tests

* fix tests

* export helper

* DeviceClientInformation type

* Device manager - select all devices (#9330)

* add device selection that does nothing

* multi select and sign out of sessions

* test multiple selection

* fix type after rebase

* select all sessions

* rename type

* use ExtendedDevice type everywhere

* rename clientName to appName for less collision with UA parser

* fix bad find and replace

* rename ExtendedDeviceInfo to ExtendedDeviceAppInfo

* rename DeviceType comp to DeviceTypeIcon

* update tests for new required property deviceType

* add stubbed user agent parsing
2022-10-05 11:41:01 +00:00
Florian Duros
bfb1638ff3
Add wysisyg composer (can only send message, enable behind a labs flag) 2022-10-05 12:01:41 +02:00
Kerry
16c3efead5
Device manager - display client information in device details (PSG-682) (#9315)
* record device client inforamtion events on app start

* matrix-client-information -> matrix_client_information

* fix types

* remove another unused export

* add docs link

* display device client information in device details

* update snapshots

* integration-ish test client information in metadata

* tests

* fix tests

* export helper

* DeviceClientInformation type
2022-10-04 13:12:23 +00:00
Kerry
c59bbdf917
Device manager - select all devices (#9330)
* add device selection that does nothing

* multi select and sign out of sessions

* test multiple selection

* fix type after rebase

* select all sessions
2022-10-04 08:12:07 +00:00
Kerry
0ded5e0505
Device manager - record device client information on app start (PSG-633) (#9314)
* record device client inforamtion events on app start

* matrix-client-information -> matrix_client_information

* fix types

* remove another unused export

* add docs link

* add opt in setting for recording device information
2022-10-04 09:53:23 +02:00
Šimon Brandner
bb2f4fb5e6
Check for the spec version when determining private read receipt support (#9341)
Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-10-04 07:38:23 +00:00
Robin
ff59f68a9f
New group call experience: Call tiles (#9332)
* Add call tiles

* Factor CallDuration out into a reusable component

* Correct the separator character in LiveContentSummary
2022-09-30 19:26:08 +00:00
David Baker
07a5a1dc6f
Fix device selection in pre-join screen for Element Call video rooms (#9321)
* Fix device selection in pre-join screen for Element Call video rooms

As per https://github.com/vector-im/element-call/pull/609

* Update unit test

* Lint

* Hold a media stream while we enumerate device so we can do so reliably.

This means we can remove the device fallback labels.

* i18n

* Remove unnecessary useState

* Fix fetching video devices when video muted

* Actually fix preview stream code

* Fix unit test now fallback is no longer a thing

* Test changing devices
2022-09-30 17:28:53 +01:00
Germain
c2e2f406af
Fixes silenced notification preventing notification prompt to be shown (#9336) 2022-09-30 16:11:04 +01:00
Kerry
772df30212
Device manager - sign out of multiple sessions (#9325)
* add device selection that does nothing

* multi select and sign out of sessions

* test multiple selection

* fix type after rebase
2022-09-30 09:07:50 +02:00
Michael Weimann
7a33818bd7
Extract createVoiceMessageContent (#9322) 2022-09-29 13:06:49 -06:00
Germain
3e076c8246
Fixes to ensure account data values do not go stale (#9331)
* Fixes to ensure account data values do not go stale

* Remove unneeded cli.off

* fix test
2022-09-29 13:05:06 -06:00
owi92
3c5ff30177
Fix quote shortcut for most keyboard layouts (#9298) 2022-09-29 15:51:50 +00:00
Kerry
951cad98d3
Device manager - extract filtered device list header (#9323)
* extract filtered device list header

* stylelint
2022-09-29 09:22:00 +02:00
Germain
c3bfb6e4a9
Display push toggle for web sessions (MSC3890) (#9327) 2022-09-28 18:18:10 +01:00
Germain
e15ef9f3de
Add device notifications enabled switch (#9324) 2022-09-28 18:13:09 +01:00
RiotRobot
d3029b5967 Merge branch 'master' into develop
# Conflicts:
#	package.json
#	yarn.lock
2022-09-28 14:13:01 +01:00
RiotRobot
66b21e96ca Resolve multiple CVEs
CVE-2022-39249
CVE-2022-39250
CVE-2022-39251
CVE-2022-39236
2022-09-28 13:57:36 +01:00
Michael Weimann
d775e403c4
Add voice broadcast recording stores (#9319)
* Add voice broadcast recording stores

* Refactor startNewVoiceBroadcastRecording
2022-09-28 10:22:50 +02:00
Germain
641cf28e4c
Implement push notification toggle in device detail (#9308)
Co-authored-by: Travis Ralston <travisr@matrix.org>
2022-09-27 13:35:54 +01:00
Robin
ace6591f43
New group call experience: Starting and ending calls (#9318)
* Create m.room calls in video rooms, and m.prompt calls otherwise

* Terminate a call when the last person leaves

* Hook up the room header button to a unified CallView component

* Write more tests
2022-09-27 07:54:51 -04:00
Michael Weimann
8e719d57a2
Add voice broadcast recording body (#9316)
* Add voice broadcast recording body

* Change icon element; update css variables

* Update Icon-test snapshots
2022-09-26 15:29:38 +02:00
Robin
d077ea1990
New group call experience: Room header call buttons (#9311)
* Make useEventEmitterState more efficient

By not invoking the initializing function on every render

* Make useWidgets more efficient

By not calling WidgetStore on every render

* Add new group call experience Labs flag

* Add viewingCall field to RoomViewStore state

Currently has no effect, but in the future this will signal to RoomView to show the call or call lobby.

* Add element_call.use_exclusively config flag

As documented in element-web, this will tell the app to use Element Call exclusively for calls, disabling Jitsi and legacy 1:1 calls.

* Make placeCall return a promise

So that the UI can know when placeCall completes

* Update start call buttons to new group call designs

Since RoomView doesn't do anything with viewingCall yet, these buttons won't have any effect when starting native group calls, but the logic is at least all there and ready to be hooked up.

* Allow calls to be detected if the new group call experience is enabled

* Test the RoomHeader changes

* Iterate code
2022-09-25 10:57:25 -04:00
Faye Duxovni
12e3ba8e5a
Make device ID copyable in device list (#9297) 2022-09-23 09:21:04 -04:00
Michael Telatynski
56c95467de
Don't show feedback prompts when that UIFeature is disabled (#9305) 2022-09-22 15:08:14 +01:00
Michael Weimann
c182c1c706
Generalise VoiceRecording (#9304) 2022-09-21 18:46:28 +02:00
Germain
71cf9bf932
Read receipts for threads (#9239)
* Use EventType enum instead of hardcoded value

* Enable read receipts on thread timelines

* Strict null checks

* Strict null checks

* fix import group

* strict checks

* strict checks

* null check

* fix tests
2022-09-21 10:13:33 +01:00
Michael Telatynski
7e435eef13
Fix spaces feedback prompt wrongly showing when feedback is disabled (#9302) 2022-09-20 16:59:29 +00:00
Michael Telatynski
9076152f79
Fix tile soft crash in ReplyInThreadButton (#9300) 2022-09-20 16:39:07 +00:00
kegsay
06c4ba32cd
Store refactor: make it easier to test stores (#9290)
* refactor: convert RoomViewStore from flux Store to standard EventEmitter

Parts of a series of experimental changes to improve the design of stores.

* Use a gen5 store for RoomViewStore for now due to lock handling

* Revert "Use a gen5 store for RoomViewStore for now due to lock handling"

This reverts commit 1076af071d997d87b8ae0b0dcddfd1ae428665af.

* Add untilEmission and tweak untilDispatch; use it in RoomViewStore

* Add more RVS tests; remove custom room ID listener code and use EventEmitter

* Better comments

* Null guard `dis` as tests mock out `defaultDispatcher`

* Additional tests
2022-09-20 15:32:39 +00:00
Michael Weimann
0cc4f4e1bc
Add voice broadcast permissions (#9284)
* Add Voice Broadcast labs setting and composer button

* Implement strict typing

* Extend MessageComposer-test

* Extend tests

* Revert some strict type fixex

* Implement voice broadcast permissions

* Update variable casing
2022-09-19 06:42:29 +00:00
Robin
cb735c9439
Element Call video rooms (#9267)
* Add an element_call_url config option

* Add a labs flag for Element Call video rooms

* Add Element Call as another video rooms backend

* Consolidate event power level defaults

* Remember to clean up participantsExpirationTimer

* Fix a code smell

* Test the clean method

* Fix some strict mode errors

* Test that clean still works when there are no state events

* Test auto-approval of Element Call widget capabilities

* Deduplicate some code to placate SonarCloud

* Fix more strict mode errors

* Test that calls disconnect when leaving the room

* Test the get methods of JitsiCall and ElementCall more

* Test Call.ts even more

* Test creation of Element video rooms

* Test that createRoom works for non-video-rooms

* Test Call's get method rather than the methods of derived classes

* Ensure that the clean method is able to preserve devices

* Remove duplicate clean method

* Fix lints

* Fix some strict mode errors in RoomPreviewCard

* Test RoomPreviewCard changes

* Quick and dirty hotfix for the community testing session

* Revert "Quick and dirty hotfix for the community testing session"

This reverts commit 37056514fbc040aaf1bff2539da770a1c8ba72a2.

* Fix the event schema for org.matrix.msc3401.call.member devices

* Remove org.matrix.call_duplicate_session from Element Call capabilities

It's no longer used by Element Call when running as a widget.

* Replace element_call_url with a map

* Make PiPs work for virtual widgets

* Auto-approve room timeline capability

Because Element Call uses this now

* Create a reusable isVideoRoom util
2022-09-16 11:12:27 -04:00
Michael Telatynski
4bfb1e7b2f
Make autocomplete pop-up wider in thread view (#9289)
* Make autocomplete pop-up wider in thread view

* Handle non-narrow mode too
2022-09-16 09:12:28 +00:00
Michael Weimann
a0c35d088a
Add Voice Broadcast labs setting and composer button (#9279)
* Add Voice Broadcast labs setting and composer button

* Implement strict typing

* Extend MessageComposer-test

* Extend tests

* Revert some strict type fixex

* Convert FEATURES to enum; change case

* Use fake timers in MessageComposer-test
2022-09-16 09:10:33 +00:00
Michael Telatynski
4a23630e06
Fix soft crash around inviting invalid MXIDs in start DM on first message flow (#9281)
* Fix soft crash around inviting invalid MXIDs

* Make ts --strict happier

* Prevent suggesting invalid MXIDs

* Add tests

* Fix coverage

* Fix coverage

* Make tsc --strict happier

* Fix test

* Add tests
2022-09-16 09:03:17 +01:00
Kerry
4fec436883
Device manager - rename session (PSG-528) (#9282)
* split heading into component

* switch between editing and view

* style file

* basic tests

* style device rename component

* add loading state

* kind of handle missing current device in drilled props

* use local loading state, add basic error message

* integration-ish test rename

* tidy

* fussy import ordering

* strict errors
2022-09-15 16:34:50 +02:00