Commit Graph
653 Commits
Author SHA1 Message Date
David Baker 2caaa15520 Fix username / displayname naming confusion 2023-06-27 12:23:19 +01:00
Robin Townsend 276684c103 Bring back fullscreen and picture-in-picture modes
We're now using LiveKit's magic RoomAudioRenderer component to make sure everyone's audio is rendered regardless of whether they have a tile in the DOM.
2023-06-26 13:48:41 -04:00
Robin Townsend 25eb56418d Show the room avatar rather than the user avatar in the header
It's supposed to be the room avatar; this was a regression introduced during the LiveKit hack week.
2023-06-23 16:20:15 -04:00
Robin Townsend 45915ed67e Fix device selection never completing in widget mode
By reinstating some of the code from the full mesh branch that was there to handle this
2023-06-23 14:17:51 -04:00
Robin Townsend a2c40561db Fix a likely bug with audio inputs and outputs getting mixed up? 2023-06-18 14:26:50 -04:00
Robin Townsend fc307d0aba Don't show ghost tiles while connecting 2023-06-18 14:26:27 -04:00
Robin Townsend c3c26e235b Merge branch 'grid-interactions' into livekit-experiment 2023-06-18 01:13:45 -04:00
Robin Townsend 391ba5196c Make screenshares appear near the presenter's tile and be larger 2023-06-18 00:47:37 -04:00
Enrico Schwendig f13c0f07cc Spotlite tile order (#1118)
* Manage spotlight tile slots for speaker and presenter
2023-06-16 18:57:47 +02:00
Robin 4fd1264d12 Merge pull request #1123 from robintown/connection-indicators
Hide connection quality indicators behind a developer setting
2023-06-16 12:56:36 -04:00
Daniel AbramovandTimo K 5b4787cef6 LiveKit Device Usage Refactoring (#1120)
Signed-off-by: Timo K <toger5@hotmail.de>
Co-authored-by: Timo K <toger5@hotmail.de>
2023-06-16 18:07:13 +02:00
Robin Townsend a96d70eefb Hide connection quality indicators behind a developer setting
Calls are an environment with high cognitive load, so it's important that we keep extra UI elements like these to a minimum and stick to what's been explicitly designed. I assume that this was here as a developer feature to diagnose reliability of the back end components, which is perfectly fine, so I've kept it behind a developer setting rather than fully removing it.
2023-06-16 10:59:57 -04:00
Robin Townsend 1b3539e873 Fix speaking indicators showing up when they shouldn't
This fixes two edge cases:

- Screenshares should never have a speaking indicator
- Speaking indicators should be hidden in 1:1 calls
2023-06-16 10:35:29 -04:00
Timo 160d1f23a9 fi Crash if no device is available (#1116)
Signed-off-by: Timo K <toger5@hotmail.de>
2023-06-15 00:06:51 +02:00
Daniel Abramov 0445c47c02 Merge branch 'livekit-experiment' into livekit-load-test 2023-06-14 22:14:06 +02:00
Daniel Abramov 520f241efa Merge branch 'livekit-experiment' into livekit-load-test 2023-06-14 21:12:20 +02:00
Timo 41f2728724 Device from lobby to call (#1110)
* respect mute state set in lobby for call

Signed-off-by: Timo K <toger5@hotmail.de>

* move device from lobby to call

Signed-off-by: Timo K <toger5@hotmail.de>

* save device in local storage

Signed-off-by: Timo K <toger5@hotmail.de>

* local storage + fixes

Signed-off-by: Timo K <toger5@hotmail.de>

* device permissions

Signed-off-by: Timo K <toger5@hotmail.de>

---------

Signed-off-by: Timo K <toger5@hotmail.de>
2023-06-14 19:20:53 +02:00
Robin Townsend 357e1f828a Fix spotlight layout 2023-06-14 11:37:07 -04:00
Enrico Schwendig 20c9c09258 Build EC room use method (#1108)
* Build custom useRoom
2023-06-14 15:03:38 +02:00
Robin Townsend 2916eb45aa Switch to the new grid once there are >12 participants 2023-06-13 12:54:24 -04:00
Robin Townsend 4d5c3cd773 Merge branch 'main' into livekit-experiment 2023-06-13 12:33:46 -04:00
Daniel Abramov 6436e66adb Merge branch 'livekit-experiment' into livekit-load-test 2023-06-13 17:23:42 +02:00
Robin Townsend 1207ecc9d7 Decouple video grid from video tile components
This is an attempt to address the feedback in https://github.com/vector-im/element-call/pull/1099#discussion_r1226863404 that the video grid and video tile components have become too tightly coupled. After this change, the only requirements that the video grid makes of its child components are:

- They accept ref, style, and item props
- They attach the ref and styles to a react-spring animated element

Note: I removed the video grid Storybook file, because I'm not aware of anyone using Storybook for development of Element Call beyond Robert, and it would take some effort to fix to work with these changes.
2023-06-12 18:21:45 -04:00
Daniel Abramov cada6e624e Show SFU participants who are not Matrix members
So that we can load SFU with the virtual participants and get them
displayed in the grid layout. Before that only participants who are part
of the Matrix were displayed (i.e. participants who have published
m.call.member event to declare their participation).
2023-06-12 20:01:28 +02:00
Robin Townsend 93bc28c1a6 Merge branch 'livekit-experiment' into merge-main 2023-06-12 11:19:52 -04:00
Robin Townsend 4e726355bf Merge branch 'main' into merge-main 2023-06-12 11:18:05 -04:00
Timo 4dcd1e176f respect mute state set in lobby for call (#1102)
Signed-off-by: Timo K <toger5@hotmail.de>
2023-06-12 15:35:54 +02:00
Robin 8c21dbaade Don't require textual feedback (#1097)
We want to encourage scoring as much as possible for the purpose of our KPIs, even if it means we don't always get detailed textual feedback.
2023-06-12 12:52:29 +02:00
Robin Townsend ab97f12947 Merge branch 'main' into livekit-experiment 2023-06-09 17:22:34 -04:00
Daniel Abramov 28fe813b76 Move LiveKit module into its own directory 2023-06-09 18:31:29 +02:00
Robin 1bfbb80f6d Merge pull request #1094 from robintown/widget-join-delay
Don't prematurely claim that we've joined the call in widget mode
2023-06-08 10:24:32 -04:00
Robin Townsend e4a3dbd7f7 Don't prematurely claim that we've joined the call in widget mode
In GroupCallView we do 'await enter()' when responding to a widget API join request, but it turns out enter wasn't actually returning a promise until now. The consequence of this was that in Element Web, when you click the join button you get shown a blank screen for a moment. This fixes that half-second moment of the UI being broken, allowing Element Web to show the intermediate 'joining' state.
2023-06-07 14:33:41 -04:00
Robin Townsend 47a4c5aa88 Don't show the quality survey if the app is a widget
As explained by the comment, we don't yet have designs that account for this combo.
2023-06-07 14:19:53 -04:00
Daniel Abramov e032edbfad Make LiveKit configurable 2023-06-07 20:16:24 +02:00
Enrico Schwendig 8f8dd5f803 Display active tracks in OTel metrics (#1085)
* Add track, feed and transceiver spans under call span
2023-06-07 16:40:47 +02:00
TimoandRobin 2a6981c58d Add quality survey at the end of the call (#1084)
Signed-off-by: Timo K <toger5@hotmail.de>
Co-authored-by: Robin <robin@robin.town>
2023-06-07 16:22:44 +02:00
Daniel Abramov dc98960d8d Properly use LiveKit screen sharing 2023-06-07 15:30:54 +02:00
Daniel Abramov 79018606b2 Simplify overly complicated VideoGrid 2023-06-06 13:14:02 +02:00
Daniel Abramov b11ab01bbe Remove the unused exports with help of ts-prune 2023-06-05 19:11:38 +02:00
Daniel Abramov 8b533018ea Remove unused stuff from video-grid 2023-06-02 21:34:59 +02:00
Daniel Abramov ed581189a8 Fix shortcuts mix 2023-06-02 21:29:22 +02:00
Daniel Abramov b1d7631994 Fix LiveKit's device selection during the call 2023-06-02 19:55:41 +02:00
Daniel Abramov 991129e470 Experimental version of LiveKit with EC that works! 2023-06-02 19:12:28 +02:00
Daniel Abramov ee1819a0b6 Quick way to replace matrix JS SDK with LiveKit 2023-06-02 17:02:47 +02:00
Daniel Abramov fb9dd7ff71 Use LiveKit's react hooks for devices
More reliable device management.
2023-05-30 20:56:25 +02:00
Daniel Abramov f4f5c1ed31 Start using LiveKit SDK for media devices
This version is not supposed to properly work, this is a work in
progress.

Main changes:
* Completely removed the PTT logic (for simplicity, it could be
  introduced later).
* Abstracted away the work with the media devices.
* Defined confined interfaces of the affected components so that they
  only get the data that they need without importing Matris JS SDK or
  LiveKit SDK, so that we can exchange their "backend" at any time.
* Started using JS/TS SDK from LiveKit as well as their React SDK to
  define the state of the local media devices and local streams.
2023-05-30 15:21:22 +02:00
Robin Townsend 9c2f4be17c Bring back the rageshake request modal 2023-05-22 15:30:29 -04:00
Robin Townsend eeb1f4baaf Merge branch 'main' into SimonBrandner/feat/settings 2023-05-22 12:49:57 -04:00
Robin 568c989ff7 Merge pull request #1069 from robintown/hide-rageshake-request
Hide the rageshake request modal when the window is too small
2023-05-22 09:21:30 -04:00
Michael Kaye 8451296f3a Merge pull request #1052 from vector-im/michaelk/test_hanging_up_call
Add ability to explicitly hang up the call
2023-05-18 18:32:38 +01:00