Commit graph

62 commits

Author SHA1 Message Date
Robin
aa57d1287d
Hide virtual widgets from the room info panel (#9424) 2022-10-14 17:04:29 +00: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
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
3c5c2bef6d
Remove Piwik support (#8835)
* Remove all mentions of Piwik

* Kill off all consumer of the old Piwik Analytics module

* Simplify ModalManager interface

* i18n

* Attempt to fix old e2e tests

* Remove unused component

* Iterate PR
2022-06-14 17:51:51 +01:00
Michael Weimann
7ed3089434 Improve tooltip positioning
Signed-off-by: Michael Weimann <michaelw@matrix.org>
2022-05-12 14:05:55 +02:00
Travis Ralston
2aec197354 Remove feature_many_integration_managers
Rationale: If we want this feature, design will do it properly.
2022-05-06 12:46:26 -06:00
Robin
371ccd7858
Don't use m.call for Jitsi video rooms (#8223) 2022-04-04 10:29:40 -04:00
Robin
1f64835fab
Update video rooms to new design specs (#8207)
* Remove radio component

* "Voice room" → "video room"

* Remove interactivity from video room tiles

* Update connection state when joining via widget

* Simplify room header buttons for video rooms

* Split out video room creation into a separate menu option

* Simplify room options for video rooms

* Update video room tile layout

* Tell the Jitsi widget whether it's a video channel

* Update tests

* "Voice" → "video" in more places

* Fix tests

* Re-add frame to immersive Jitsi widgets

* Comment ack

* Make updateDevices more readable

* Type FacePile
2022-04-01 14:36:10 +00:00
Travis Ralston
f882466329
Add a few more UIComponent flags, and ensure they are used in existing code (#7937)
* UIComponent flag: Explore rooms

To disable the room directory access on the Home space. Can be controlled with the existing ComponentVisibilityCustomisation

* Make "plus menu" respect component visibility

* UIComponent flag: Add integrations

To disable the widgets section of the room info card and addwidget slashcommand. Can be controlled with the existing ComponentVisibilityCustomisation

* Make sure invite users component applies to space rooms too

* Appease the linter
2022-03-02 10:37:18 -07:00
Robin
464bb727db
Update and expand ways to access pinned messages (#7906)
* Hide pinned messages header button when nothing is pinned

Signed-off-by: Robin Townsend <robin@robin.town>

* Add pinned messages option to room info panel

Signed-off-by: Robin Townsend <robin@robin.town>

* Add pinned messages option to room header menu

Signed-off-by: Robin Townsend <robin@robin.town>

* Make condition more concise

Signed-off-by: Robin Townsend <robin@robin.town>
2022-02-28 14:52:16 +00:00
Michael Telatynski
999e1b7421
Wire up bunch of interaction events into Posthog (#7707) 2022-02-09 14:42:08 +00:00
J. Ryan Stinnett
59cdd3edc0
Unify widget header actions with those in right panel (#7734) 2022-02-09 10:47:41 +00:00
Timo
59f57e15fe
Ship maximised widgets and remove feature flag (#7509)
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-01-11 14:11:48 +01:00
Timo
4ab3470184
History based navigation with new right panel store (#7398)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2022-01-05 17:25:41 +01:00
Timo
325e2ba99b
Right panel store refactor (#7313)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2022-01-05 16:14:44 +01:00
Šimon Brandner
69c847b94c
Don't show options button when the user can't modify widgets (#7324)
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2021-12-09 16:21:05 -07:00
Timo
556cfc7ed8
Add maximise widget functionality (#7098)
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-11-16 15:43:18 +01:00
Michael Telatynski
27c3153947
Unified room context menus (#7072) 2021-11-15 11:39:25 +00:00
Germain
1de9630e44
Fixes following threads design implementation review (#7100) 2021-11-11 11:00:18 +00:00
Dariusz Niemczyk
562a880c7d
Create room threads list view (#6904)
Implement https://github.com/vector-im/element-web/issues/18957 following requirements:
* Create a new right panel view to list all the threads in a given room.
* Change ThreadView previous phase to be ThreadPanel rather than RoomSummary
* Implement local filters for My and All threads

In addition: 
* Create a new TileShape for proper rendering requirements (hiding typing indicator)
* Create new timelineRenderingType for proper rendering requirements
2021-10-14 15:27:35 +02:00
Jaiwanth
d1e3d35d40 Change export bundle filename format, light theme for all exports and import jszip after export cta 2021-09-22 22:17:23 +05:30
Jaiwanth
94e4fb71c1 Merge branch 'develop' into export-conversations 2021-09-22 18:07:01 +05:30
Germain Souquet
54a0a869bf PR feedback 2021-08-24 09:09:28 +01:00
Germain Souquet
d5356361a9 Hide thread UI behind experimentalThreadSupport flag 2021-08-19 14:56:51 +01:00
Germain Souquet
95f4513bd2 Make UI respond to thread events 2021-08-17 17:42:47 +01:00
Jaiwanth
33bc26f039 Change summary tiles order 2021-08-17 20:04:28 +05:30
Germain Souquet
e5024c4b71 Adapt threading UI to new backend 2021-08-17 10:38:09 +01:00
Jaiwanth
31c9e5962c Move export dialog to async-components 2021-08-14 00:03:02 +05:30
Jaiwanth
6dd3631a17 Delint 2021-07-21 11:48:37 +05:30
Jaiwanth
1ed316851a Merge upstream and resolve conflicts 2021-07-21 11:35:27 +05:30
Michael Telatynski
ce78cdf4ad Conform to new react and typescript eslint rules 2021-07-19 22:43:11 +01:00
Jaiwanth
08d886e9d1 Delint 2021-06-30 14:08:22 +05:30
Jaiwanth
551639811b Merge and resolve conflicts 2021-06-30 12:29:13 +05:30
J. Ryan Stinnett
ae0a8b8da4 Auto-fix lint errors 2021-06-29 13:11:58 +01:00
Jaiwanth
92e34c7993 Format dropdown 2021-06-26 13:04:10 +05:30
Jaiwanth
c3dc51c452 Create export dialog and async import export utils 2021-06-26 12:14:18 +05:30
Jaiwanth
4d6ad91e52 Add export option to right panel 2021-06-25 22:45:14 +05:30
Germain Souquet
f156c2db15 prevent reflow in app when accessing window dimensions 2021-05-25 10:28:43 +01:00
Michael Telatynski
f52dc9a3ea Fix room name not updating whilst summary card is open 2021-05-19 17:12:31 +01:00
J. Ryan Stinnett
d78bc98521 Resolve linting errors after upgrades 2021-01-27 12:42:39 +00:00
Travis Ralston
04d1f5dd28 Implement a "Copy my layout to the room" button 2021-01-18 20:42:21 -07:00
Travis Ralston
1768d6ea5f Move all widget pinning logic to the WidgetLayoutStore 2021-01-18 20:26:47 -07:00
Michael Telatynski
ecb0b0113f Also use getJoinedMemberCount as its capable of using the room summary member count instead
Leave the useRoomMembers hook for future use as it is very useful.
2020-12-09 11:07:40 +00:00
Michael Telatynski
184c73cca4 Throttle RoomState.members handler to improve performance
Lazy Loading emits a RoomState.members for each member which in the case of a room like
Matrix HQ means it happens over 8000 times in a very short span of time causing the UI
to lock up.
2020-12-09 11:02:30 +00:00
Travis Ralston
bd1de8d45b Require a room ID for WidgetStore's pinned widget contracts
This should alleviate https://github.com/vector-im/element-web/issues/15705 from happening, though the cause is still unknown.

Requiring a room ID is safe for this because only room widgets can be pinned, and widget IDs are not globally unique which means from a logical standpoint the contract still makes sense here.
2020-12-01 13:05:48 -07:00
Michael Telatynski
a16a6d2b54 Remove redundant event listener
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-21 16:05:44 +01:00
Michael Telatynski
f5479d87fe delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-15 11:28:14 +01:00
Michael Telatynski
a6c81a903c Iterate with new buttons and resize locking
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-15 11:14:48 +01:00
Michael Telatynski
7820f9c28a Switch to WidgetAvatar
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-12 13:16:55 +01:00
Michael Telatynski
37558f1f0d Improve the context menu
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-10-12 09:51:49 +01:00