Robin Townsend
6f4834e168
Use a more suitable color for copy buttons
...
This is a change that I meant to include in aa628cc63c
, but forgot to commit.
2023-08-30 14:52:53 -04:00
David Baker
b5626dd97c
Merge remote-tracking branch 'origin/livekit' into dbkr/matrixrtcsession
2023-08-30 17:25:00 +01:00
David Baker
3a0c895b7a
Fix e2ee audio in Firefox
...
Pull in changes for livekit and disable RED as per comment.
2023-08-30 17:17:45 +01:00
Šimon Brandner
1b2287646d
Enable E2EE by default
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-30 12:19:21 +02:00
David Baker
4cd274b91e
Manually disconnect & reconnect the livekit call if our focus changes
...
Without breaking the 'disconnected' screen
2023-08-29 12:45:34 +01:00
Robin Townsend
aa628cc63c
Adopt the Compound color system
...
As a first step towards adopting the Compound design system and the new Element Call designs, this pulls in Compound's color tokens and applies them to all existing components. I've tried to choose tokens based on the semantics of where they're used, but in some cases, where the new and old design systems differ in semantics, it was necessary to choose tokens based on their resulting color. These hacks can be removed as we implement more of the new designs.
There were a set of environment variables that we used for custom themes, but Compound has way too many design tokens for that approach to still be a good idea, so I decided to replace them all with a single environment variable that just lets you write arbitrary custom CSS.
2023-08-28 17:14:40 -04:00
David Baker
22533fc408
Merge remote-tracking branch 'origin/livekit' into dbkr/matrixrtcsession
2023-08-25 14:40:52 +01:00
Šimon Brandner
9d142c1ea5
Fix useIsRoomE2EE()
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-25 15:30:58 +02:00
David Baker
e4e35eecfd
Use Matrix room membership to look up room member
...
Rather than the matrixRTC memberships. We're essentially trusting
LiveKit's view of weho is connected here, so we may as well include
the real names of anyone we don't think is a matrixRTC participant,
for whatever reason.
2023-08-25 13:19:23 +01:00
David Baker
dc80a7e350
Log ghosts
...
and remove unsused code
2023-08-23 15:04:41 +01:00
David Baker
c516207199
Remove matrix-widget-api as a dep & remove livekit stuff from widget init
...
We'll always have matrix-widget-api as a dep through js-sdk so also
specifyin it ourselves just means we'll end up using a different version
when the js-sdk upgrade their copy and get wierd errors. We could add a
peerDependency if we really felt the need?
2023-08-23 10:12:09 +01:00
David Baker
918736e758
Removed now unused useGroupCall & OpenIDLoader
2023-08-23 10:06:08 +01:00
David Baker
274349f2e2
Use the right sfu config hook
2023-08-18 10:20:14 +01:00
David Baker
e39d00154d
More hacking on rtcsession
2023-08-18 09:03:21 +01:00
David Baker
1716bd4418
Merge remote-tracking branch 'origin/livekit' into dbkr/matrixrtcsession
2023-08-16 18:53:00 +01:00
David Baker
4242d45ba2
WIP refactor for removing m.call events
2023-08-16 18:41:27 +01:00
Šimon Brandner
d0fe055af6
Always allow setting a password
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-16 15:39:55 +02:00
Šimon Brandner
3ea908c59f
Revert "Remove optional call"
...
This reverts commit 74c70627dc
.
2023-08-16 15:38:23 +02:00
Šimon Brandner
74c70627dc
Remove optional call
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-16 15:35:49 +02:00
Šimon Brandner
b4b33563be
Fix joining an existing room
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-16 15:13:28 +02:00
Šimon Brandner
5cd8c0538e
Revert changes to JoinExistingCallModal
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-16 13:59:41 +02:00
Šimon Brandner
54157611eb
Remove log line
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-16 13:56:31 +02:00
Šimon Brandner
22690c4a0b
Differentiate between E2EE and non-E2EE rooms by alias presence
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-11 17:00:05 +02:00
Šimon Brandner
edfae0138c
Add useIsRoomE2EE()
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-11 16:59:26 +02:00
Šimon Brandner
e246c053c1
Improve loading of passwords
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-11 16:57:55 +02:00
Šimon Brandner
c86ef40162
Goodbye, aliases
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-11 13:25:09 +02:00
Šimon Brandner
b2f5f90f37
More URL handling adjustements
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-11 13:16:35 +02:00
Šimon Brandner
506b363f38
Update E2EE texts
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-11 13:14:50 +02:00
Šimon Brandner
5c3d8efebf
Improve URL handling
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-10 15:19:43 +02:00
Šimon Brandner
8facf7808b
Merge remote-tracking branch 'upstream/livekit' into SimonBrandner/feat/hash
2023-08-10 09:43:05 +02:00
Robin Townsend
15348fb43c
Disable full mesh in widget mode
...
We disabled full mesh on the client that's used in SPA mode, but forgot to do the same for the widget mode client.
2023-08-09 18:02:05 -04:00
Robin Townsend
7b85b4f051
Fix joining with muted video in widget mode
...
This typo was making it impossible to join a call in Element Call's widget mode with your camera off.
2023-08-09 17:36:19 -04:00
Robin Townsend
b96b3dd5ef
Fix logging out getting the app stuck on a 'loading' screen
2023-08-09 12:00:13 -04:00
Robin
44dd860cb8
Merge pull request #1311 from robintown/error-view-rageshake
...
Add a rageshake button to the generic error view
2023-08-09 09:31:58 -04:00
Šimon Brandner
6a3c02f7f7
Delint
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-09 14:01:37 +02:00
Šimon Brandner
466d7ee394
Don't allow joining existing calls with E2EE enabled
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-09 14:01:37 +02:00
Šimon Brandner
935d2188f0
Do not allow joining a call without E2EE key
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-09 14:01:36 +02:00
Šimon Brandner
c4e5e1afb1
Save room shared keys to local storage
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-09 14:01:36 +02:00
Šimon Brandner
80f97cba32
Fix getRoomUrl()
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-09 14:01:36 +02:00
Šimon Brandner
7ace81a7cc
Make copy link button include a password
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-09 14:01:35 +02:00
Šimon Brandner
89ae0e1e62
Re-use variable
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-09 14:01:35 +02:00
Šimon Brandner
9cd20ed1da
Delete hash once loaded
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-09 14:01:34 +02:00
Šimon Brandner
8fdc1e3684
Store shared keys in local storage
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-09 14:01:34 +02:00
Šimon Brandner
59653fea07
Update the URL the lobby view when the password changes
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-09 14:01:33 +02:00
Šimon Brandner
1a5898eb30
Get E2EE password from the URL
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-09 14:01:33 +02:00
Šimon Brandner
4e16c26b2e
Fix types
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-08-08 15:19:42 +02:00
Robin Townsend
e04d3f7c8d
Fix camera light regression
...
By avoiding a method call that was accidentally causing LiveKit to try to publish tracks before the SFU connection was established, resulting in an unclosed stream.
2023-08-04 13:15:24 -04:00
Robin Townsend
99ce5064f5
Fix multiple issues with device settings
...
To track media devices, we were previously relying on a combination of LiveKit's useMediaDeviceSelect hook, and an object called UserChoices. Device settings should be accessible from outside a call, but the latter hook should only be used with a room or set of preview tracks, so it couldn't be raised to the app's top level. I also felt that the UserChoices code was hard to follow due to lack of clear ownership of the object.
To bring clarity to media device handling and allow device settings to be shown outside a call, I refactored these things into a single MediaDevicesContext which is instantiated at the top level of the app. Then, I had to manually sync LiveKit's device state with whatever is present in the context. This refactoring ended up fixing a couple other bugs with device handling along the way.
2023-08-03 10:17:00 -04:00
Šimon Brandner
30f5d0e29f
Delint
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-29 20:42:16 +02:00
Šimon Brandner
a0bf1d2677
Handle broken links better
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-29 20:31:18 +02:00
Robin Townsend
8f7e6d70d3
Add a rageshake button to the generic error view
2023-07-26 11:20:18 -04:00
Šimon Brandner
f0c22c429d
Merge pull request #1310 from vector-im/SimonBrandner/feat/disable-e2e
2023-07-26 17:03:50 +02:00
Šimon Brandner
4ec7ad9fd2
Merge pull request #1309 from vector-im/SimonBrandner/fix/prof-icon
2023-07-26 17:03:24 +02:00
Robin Townsend
44786331c0
Use the more correct name 'roomIdOrAlias'
2023-07-26 10:52:07 -04:00
Robin Townsend
faa7b32589
Merge branch 'livekit' into copy-alias
2023-07-26 10:50:29 -04:00
Šimon Brandner
7bee0de014
Disable E2EE settings on unsupported browsers
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-26 15:46:08 +02:00
Šimon Brandner
3e40b24919
Fix profile icon size
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-26 12:55:34 +02:00
Šimon Brandner
b5e1752e06
Merge pull request #1308 from vector-im/SimonBrandner/feat/ss-audio-volume
2023-07-26 12:22:01 +02:00
Šimon Brandner
7c558b16ca
Add screen-sharing volume control
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-25 17:17:49 +02:00
Šimon Brandner
926eb8adbf
Fix e2ee bugginess
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-25 16:40:12 +02:00
Šimon Brandner
a1e18322df
Missing import
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-25 16:13:45 +02:00
Šimon Brandner
f7645ab432
Merge remote-tracking branch 'upstream/livekit' into SimonBrandner/feat/e2ee
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-25 16:00:12 +02:00
Šimon Brandner
7c5f07b498
Add a comment
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-25 15:49:59 +02:00
Šimon Brandner
d8fcaa6eba
Make it a const
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-25 15:23:00 +02:00
Šimon Brandner
f3615b73fc
/me is an idiot
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-25 15:18:45 +02:00
Šimon Brandner
a6f803a091
Don't change mute state while in the lobby
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-25 13:40:22 +02:00
Šimon Brandner
7ddede4fee
Update string
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-25 13:03:31 +02:00
Šimon Brandner
fa2fcbcbec
Hide E2EE behind a flag
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-25 11:07:20 +02:00
Robin Townsend
1dd3e70061
Make the copy link buttons prefer aliases to room IDs
2023-07-24 17:06:09 -04:00
David Baker
d66f045743
Merge remote-tracking branch 'origin/livekit' into dbkr/react_to_livekit_disconnect
2023-07-24 21:35:09 +01:00
David Baker
8e6380db0b
Fix logs component states
...
Also just display text when sending which makes the button jump around
a bit but avoids hardcoding the width
2023-07-24 21:33:13 +01:00
David Baker
9fdafaf395
Add a useEventEmitterThree for livekit's event emitters and use it
2023-07-24 21:03:56 +01:00
Šimon Brandner
9ecb76c6b9
Merge pull request #1297 from vector-im/SimonBrandner/feat/auto-mute
2023-07-24 18:56:29 +02:00
Šimon Brandner
c2a3d60efd
Mute in lobby
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-24 17:44:07 +02:00
Robin Townsend
86cc865946
Merge branch 'livekit' into client-loading
2023-07-24 10:44:18 -04:00
Šimon Brandner
cab12a914b
Merge pull request #1298 from vector-im/SimonBrandner/fix/settings-devices
2023-07-24 16:03:09 +02:00
Šimon Brandner
856158bf34
Hide media device sections in settings if empty
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-24 12:12:02 +02:00
Šimon Brandner
8ee0e207bd
Automatically mute the user, if there already are more than 8 participants
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-24 12:06:51 +02:00
David Baker
cfa3741694
Merge pull request #1288 from vector-im/dbkr/sentry_more_errors
...
Report more errors to sentry
2023-07-24 09:50:49 +01:00
David Baker
94977171c6
Merge pull request #1293 from vector-im/connectionlostbanner_lk
...
Connection Lost Banner
2023-07-24 09:49:46 +01:00
Robin Townsend
c34eac03e5
Restore the client 'loading' state
...
https://github.com/vector-im/element-call/pull/1173 regressed the client loading sequence, such that the app would pretend that you were signed out when it was really just loading your saved session. This makes the proper loading state appear again.
2023-07-21 15:23:03 -04:00
David Baker
47365f2433
Merge branch 'toger5/connectionLostBanner' into connectionlostbanner_lk
...
NB. I had to more or less rewrite this as it had been refactored in the livekit branch.
2023-07-21 20:03:37 +01:00
Robin
6ac14adc02
Merge pull request #1287 from robintown/wake-lock
...
Stop devices from automatically sleeping
2023-07-21 13:07:29 -04:00
Robin Townsend
00c81ad85b
Add comments
2023-07-21 12:12:44 -04:00
David Baker
b44ab47a1a
Report more errors to sentry
...
Mostly from ErrorView
2023-07-21 11:58:21 +01:00
Robin Townsend
c0eeb035c8
Stop devices from automatically sleeping
...
A TypeScript upgrade was necessary to bring in the types for the wake lock API.
2023-07-21 00:52:43 -04:00
Robin Townsend
8903930d56
Respond to review feedback
2023-07-21 00:00:04 -04:00
Robin Townsend
922d66d66b
Merge branch 'livekit' into settings-tab-order
2023-07-20 23:54:47 -04:00
David Baker
4071c9029c
Track call disconnections
2023-07-20 18:22:17 +01:00
David Baker
1675770196
Add disconnected screen for when livekit disconnects from the call
...
eg. when it gives up retrying to connect
Also refactors the rageshake button into a dedicated component that
we can just put wherever we want.
Fixes https://github.com/vector-im/element-call/issues/1268
2023-07-20 17:55:50 +01:00
David Baker
a311c6ea3d
Merge pull request #1272 from vector-im/dbkr/debug_logs
...
Enable debug logging
2023-07-19 14:04:58 +01:00
Timo
b7f5069e98
set video enabled even if tracks are not yet initialized ( #1273 )
...
This could fix "muted on join issues" but could introduce issues where the buttons show unmuted even if no device is available.
Signed-off-by: Timo K <toger5@hotmail.de>
2023-07-18 17:41:54 +02:00
David Baker
4eb9326bd2
Enable debug logging
...
Fixes https://github.com/vector-im/element-call/issues/1267
2023-07-17 19:33:29 +01:00
David Baker
c15b2a62d5
Fix jsdoc
2023-07-17 19:22:22 +01:00
David Baker
f28cf0ce69
Fix embedded mode
...
This was trying to get the room alias, which causes the config to be
read. We don't need the room alias here though, so pass the flag to
not return it.
2023-07-17 19:16:28 +01:00
Šimon Brandner
26bc897233
Finish js-sdk update
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-17 17:00:48 +02:00
Šimon Brandner
4193629c2c
Add E2EE password prompt
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-17 16:53:58 +02:00
David Baker
05505a6177
Merge pull request #1263 from vector-im/dbkr/jwt-service-more-logging
...
Add more logs to JWT service code
2023-07-17 10:14:32 +01:00
Robin
b2be3575f2
Merge pull request #1265 from robintown/avatar-setting
...
Fix avatar field in profile settings being hidden
2023-07-15 20:43:40 -04:00
Robin
04d4d9af75
Merge pull request #1261 from robintown/fix-registration
...
Fix registration not logging you into the new account
2023-07-15 20:42:54 -04:00
Šimon Brandner
723819b3d6
Merge remote-tracking branch 'upstream/livekit' into SimonBrandner/feat/friendly-url
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-15 09:48:08 +02:00
Robin Townsend
2d3d58cdc7
Fix avatar field in profile settings being hidden
...
It was being hidden when you didn't yet have an avatar set, which made it impossible to ever set one.
2023-07-14 14:48:50 -04:00
Robin Townsend
72eca769a4
Put the settings tabs back in the right order
2023-07-14 14:08:42 -04:00
David Baker
be340ca4e4
Add more logs to JWT service code
2023-07-14 18:42:31 +01:00
Robin Townsend
3c30a5812b
Fix registration not logging you into the new account
2023-07-14 12:41:21 -04:00
Timo
cac06f9852
Remove unecassary state for lobby device initialization ( #1238 )
...
* remove unecassary state
Signed-off-by: Timo K <toger5@hotmail.de>
* hotfix
Signed-off-by: Timo K <toger5@hotmail.de>
* remove video/audioAvailableAndEnabled
this is not required anymore since we disable the button.
Signed-off-by: Timo K <toger5@hotmail.de>
---------
Signed-off-by: Timo K <toger5@hotmail.de>
2023-07-13 11:20:24 +02:00
David Baker
e264a71d1e
Merge v0.4.2 hotfixes
2023-07-12 17:57:54 +01:00
Šimon Brandner
8946af8f4e
Hack e2ee in
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-12 17:52:14 +02:00
Daniel Abramov
eab2bc8ab5
Merge pull request #1173 from vector-im/lint-fixes
...
Enable stricter lints
2023-07-12 17:18:33 +02:00
David Baker
8754651f5c
Spell SFU correctly
2023-07-11 16:49:29 +01:00
Daniel Abramov
f3de341a4b
Remove unnecessary usage of a roomIdOrAlias
...
In most cases the `roomId` was used despite the name of the variable.
2023-07-11 16:02:58 +01:00
Daniel Abramov
91352fd08d
Disable a lint for any
for now in UserMenu
2023-07-11 16:02:58 +01:00
Daniel Abramov
aaa9b7761c
Use widget
with !
instead of ?
...
It cannot be `null` in the mentioned contexts as discussed with Robin.
2023-07-11 16:02:58 +01:00
Daniel Abramov
259ef27bd0
Properly model the state of a group call load
2023-07-11 16:02:58 +01:00
Daniel Abramov
647599a39e
Use useMemo
in a proper way in ClientContext
2023-07-11 16:02:58 +01:00
Daniel Abramov
6998555ad9
Show UserMenu
even if no avatar available
2023-07-11 16:02:58 +01:00
Daniel Abramov
b68cd54049
Properly use sizeToClassName
for a LinkButton
2023-07-11 16:02:58 +01:00
Daniel Abramov
2293cbf1f0
Use memoized callbacks when passing to components
2023-07-11 16:02:58 +01:00
Daniel Abramov
caa3a7e8d0
Make useProfile()
use of undefined
explicit
2023-07-11 16:02:58 +01:00
Daniel Abramov
333b7cc041
Use more concise syntax for optional function call
2023-07-11 16:02:58 +01:00
Daniel Abramov
e6047f8583
Remove redundant code when resolving an avatar
2023-07-11 16:02:58 +01:00
Daniel Abramov
0105162ffa
Enable strict lints
...
An attempt to fix https://github.com/vector-im/element-call/issues/1132
2023-07-11 16:02:58 +01:00
Šimon Brandner
d86d3de95e
Merge pull request #1232 from vector-im/SimonBrandner/feat/volume-control
2023-07-11 16:14:54 +02:00
Šimon Brandner
08aebf05e9
Delint
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-11 12:08:06 +02:00
Šimon Brandner
7994d09590
Add user-media volume control
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-11 12:04:01 +02:00
Šimon Brandner
cb6174cf7d
Fix settings tab list scroll-bars
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-11 10:52:27 +02:00
David Baker
46ad46323e
Merge pull request #1225 from vector-im/dbkr/lk_url_matroyshka
...
Add the livekit URL in matroyshka mode
2023-07-11 09:48:01 +01:00
Šimon Brandner
8f8659726a
Merge pull request #1223 from vector-im/SimonBrandner/fix/muted-audio
2023-07-10 18:01:50 +02:00
David Baker
f6383fb4b5
Add comment
2023-07-10 16:04:06 +01:00
David Baker
4c6535243d
Fix types
2023-07-10 15:54:04 +01:00
Šimon Brandner
b814efc21f
Add a comment
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-10 16:51:33 +02:00
Šimon Brandner
c0a2c18ec4
Fix E2EE disclaimer
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-10 15:58:46 +02:00
David Baker
ca0e843d80
Add the livekit URL in matroyshka mode
...
This is a bit of a hack, as commented. The way to make it less of a
hack is there too.
Fixes embedded mode, although users will get a permission prompt
without https://github.com/matrix-org/matrix-react-sdk/pull/11209 .
Fixes https://github.com/vector-im/element-call/issues/1201
2023-07-10 13:36:07 +01:00
Šimon Brandner
cc2808a1da
Fix audio being muted when joining a call
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-10 14:27:19 +02:00
Šimon Brandner
d367921db9
Merge pull request #1216 from vector-im/SimonBrandner/feat/settings-embed-prof
2023-07-10 12:55:33 +02:00
Šimon Brandner
aa885b4158
Merge pull request #1217 from vector-im/SimonBrandner/feat/screenshare-audio
2023-07-10 12:36:02 +02:00
Timo
7b19980a83
Disable mute button if media is not yet available. ( #1218 )
...
---------
Signed-off-by: Timo K <toger5@hotmail.de>
2023-07-10 12:26:47 +02:00
Šimon Brandner
0e8aa9dea6
Adjust simulcast options for video
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-10 11:55:12 +02:00
Šimon Brandner
91e8d559b9
Support screen-sharing audio
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-10 11:27:06 +02:00
Šimon Brandner
9ecbfbffc7
Don't show profile settings in embedded mode
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-10 11:13:57 +02:00
Šimon Brandner
3c560ed126
Merge pull request #1209 from vector-im/SimonBrandner/feat/lk-url-fallback
2023-07-07 18:18:58 +02:00
Daniel Abramov
5c5aa27a20
Merge pull request #1207 from vector-im/release-preparations
...
Release preparations
2023-07-07 16:10:33 +02:00
Šimon Brandner
124c6223e4
Fallback to config LiveKit URL if there is no URL coming from the js-sdk
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-07 16:08:30 +02:00
Robin
2eb548de9f
Merge pull request #1192 from robintown/expand-collapse-inverse
...
Make the expand and collapse interactions inverses of one another
2023-07-07 09:36:25 -04:00
Daniel Abramov
19a2494b9b
Fix screen-sharing on Chrome
...
- Disable temporal layers
- Make 30 fps screen-sharing
2023-07-07 14:27:01 +01:00
Timo
9be9250124
Combined permission request with newer livekit sdk version ( #1200 )
...
---------
Signed-off-by: Timo K <toger5@hotmail.de>
2023-07-07 14:41:29 +02:00
Daniel Abramov
008d22a2a0
Use unique and stable room names for LiveKit
...
Fixes #1165 .
2023-07-07 12:36:53 +01:00
Šimon Brandner
3effa330f1
Merge remote-tracking branch 'upstream/livekit' into SimonBrandner/feat/eula-config
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-07 10:57:53 +02:00
Šimon Brandner
bb1206dd2f
Merge pull request #1193 from vector-im/SimonBrandner/feat/e2ee-banner
2023-07-07 10:53:40 +02:00
Šimon Brandner
7a47d0504d
Size improvement numero dos
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-07 10:14:04 +02:00
Šimon Brandner
b9e15ab992
Fix sizing
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-07 10:11:27 +02:00
Šimon Brandner
e52b3e6d53
Add EULA config
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-06 18:48:25 +02:00
Robin
e481a34383
Merge pull request #1191 from robintown/better-double-click
...
Improve the double click detection
2023-07-06 10:35:18 -04:00
Šimon Brandner
3d57d63f7f
Don't unnecessarily use useEffect
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-06 12:12:28 +02:00
Šimon Brandner
607e1b7b43
Fix getRoomUrl()
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-06 12:02:39 +02:00
Šimon Brandner
c7258776c3
Merge remote-tracking branch 'upstream/livekit' into SimonBrandner/feat/friendly-url
2023-07-06 11:59:13 +02:00
Šimon Brandner
4a90a6d64c
Add E2EE lock
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-06 11:10:43 +02:00
Šimon Brandner
3cef00b6b6
Add E2EE banner
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-06 11:10:00 +02:00
Šimon Brandner
0646f327df
Change from TOC to EULA
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-06 08:43:00 +02:00
Šimon Brandner
0d72e3ae9e
Add LockOff
icon
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-06 08:36:18 +02:00
Šimon Brandner
a63dc637ab
Add subtle primary color
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-06 08:35:53 +02:00
Robin Townsend
3ac98c8865
Make the expand and collapse interactions inverses of one another
...
For the most part, at least. If the edge cases where they differ still feel weird, I can iterate on this further.
The diff is unfortunately a bit impenetrable, because I had to change both the fillGaps and cycleTileSize core algorithms used by the big grid layout. But: the main change of significance is the addition of a function vacateArea, which clears out an area within the grid in a specific way that mirrors the motion performed by fillGaps.
2023-07-06 00:59:14 -04:00
Robin Townsend
1c7110e4c9
Improve the double click detection
...
So that it doesn't cause unnecessary renders, and interprets a series of three clicks as a double-click followed by a single click, rather than two overlapping double-clicks. (That behavior felt odd to me during testing of NewVideoGrid, which is why I picked up this small change.)
2023-07-06 00:40:15 -04:00
Šimon Brandner
d67ce2e051
Merge remote-tracking branch 'upstream/livekit' into SimonBrandner/feat/url
2023-07-04 20:13:09 +02:00
David Baker
c9f57cb2a3
Merge pull request #1166 from vector-im/dbkr/openid
...
Support for getting SFU config using OIDC
2023-07-04 19:05:21 +01:00
Šimon Brandner
ce1671a117
Merge remote-tracking branch 'upstream/dbkr/openid' into SimonBrandner/feat/url
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-04 17:43:40 +02:00
David Baker
fc7a7b1799
Use union type for openidloader state
...
Co-authored-by: Daniel Abramov <inetcrack2@gmail.com>
2023-07-04 15:44:55 +01:00
Šimon Brandner
26657a5de9
Merge remote-tracking branch 'upstream/livekit' into SimonBrandner/feat/url
2023-07-04 16:26:54 +02:00
Šimon Brandner
8fbcc06cd8
Don't use the whole Location
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-03 20:05:08 +02:00
Šimon Brandner
0bba620451
Further id vs alias
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-03 19:32:25 +02:00
Šimon Brandner
b08044c06d
More fixes of id vs alias
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-03 19:30:38 +02:00
Šimon Brandner
e1ef18093f
Fix alias vs id + participants bug
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-03 19:23:26 +02:00
David Baker
c5f3941ad7
Unused import
2023-07-03 17:14:46 +01:00
David Baker
5305a287fe
Briefer syntax
2023-07-03 17:10:36 +01:00
David Baker
edcf9f3fd5
Use the repsonse,.ok rather than manual status code check
2023-07-03 17:07:00 +01:00
David Baker
f64bd0ab25
Unused import
2023-07-03 17:06:22 +01:00
David Baker
4524b418ff
Merge remote-tracking branch 'origin/livekit' into dbkr/openid
2023-07-03 17:03:58 +01:00
David Baker
f2eabec382
Be stricter with what is passed in to the openid components
2023-07-03 16:21:56 +01:00
Šimon Brandner
fdc41aaa50
Use friendly URLs
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-03 16:20:19 +02:00
Šimon Brandner
11785fc243
Avoid redirects
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-03 15:40:06 +02:00
David Baker
9e95e8b5a7
User ID field no longer neccessary
2023-07-03 13:00:25 +01:00
Daniel Abramov
81734b852c
Add simulcast layers for the screen sharing
2023-07-03 11:26:43 +01:00
Šimon Brandner
5255158090
Fix new grid layout
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-07-03 10:03:24 +02:00
Robin Townsend
17450b4531
Fix big grid crashing due to missing React import
...
by fixing the cause rather than the symptom: this upgrades the code to use the new, recommended JSX transform mode of React 17+, which no longer requires you to import React manually just to write JSX.
2023-06-30 18:21:18 -04:00
David Baker
23b8a61e7a
Provide sfu config via context
2023-06-30 18:12:58 +01:00
David Baker
4efd88905d
Move ...rest param
2023-06-30 16:13:02 +01:00
David Baker
4548c1af23
Merge remote-tracking branch 'origin/livekit' into dbkr/openid
2023-06-30 10:11:53 +01:00
Šimon Brandner
52ed76a02f
Double click to cycle size
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-06-29 18:34:55 +02:00
Šimon Brandner
4a90eb341f
Merge pull request #1167 from vector-im/SimonBrandner/feat/remove-avatar
2023-06-29 18:10:57 +02:00
Šimon Brandner
8cafe0f25d
Remove roomAvatarUrl
from MatrixInfo
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-06-29 08:03:30 +02:00
Šimon Brandner
87bd9cf026
Remove avatar from header
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-06-28 18:16:46 +02:00
David Baker
008bb4f41d
Also the other files
2023-06-28 16:42:51 +01:00
David Baker
a0b342069d
Merge remote-tracking branch 'origin/livekit' into dbkr/openid
2023-06-28 16:40:59 +01:00
David Baker
8996aa772c
Initial support for getting SFO config using OIDC
...
* Change `jwt_service_url` to `livekit_service_url`
* Make it a POST so we can send the openID token sensibly
* Get an OIDC token & pass it with the request
* Read the SFU URL from there too
and convert the auth server accordingly, althugh with no actual OIDC
support yet, it just issues tokens blindly just as before and ignores
the openid token completely.
We'll need to update configs & the JWT service before merging this.
2023-06-28 16:35:56 +01:00
Robin Townsend
1c6ef97457
Improve typing around layouts and grid components
2023-06-28 10:59:36 -04:00
Robin Townsend
cc35f243f2
Make NewVideoGrid support arbitrary layout systems
...
In preparation for adding layouts other than big grid to the NewVideoGrid component, I've abstracted the grid layout system into an interface called Layout. For now, the only implementation of this interface is BigGrid, but this will allow us to easily plug in Spotlight, SplitGrid, and OneOnOne layout systems so we can get rid of the old VideoGrid component and have One Grid to Rule Them All™.
Please do shout if any of this seems obtuse or underdocumented, because I'm not super happy with how approachable the NewVideoGrid code looks right now…
Incidentally, this refactoring made it way easier to save the state of the grid while in fullscreen / another layout, so I went ahead and did that.
2023-06-27 14:20:45 -04:00
Šimon Brandner
3a2cee581e
Get LK info from the js-sdk
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-06-27 17:28:50 +02:00
Robin
e625894ae9
Merge pull request #1146 from robintown/fullscreen-and-pip
...
Bring back fullscreen and picture-in-picture modes
2023-06-27 09:22:19 -04:00
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
f08facbff3
Merge pull request #1135 from robintown/embedded-device-selection
...
Fix device selection never completing in widget mode
2023-06-23 15:02:30 -04:00
Robin Townsend
c181d250ac
Note the call backend in rageshake and analytics data
2023-06-23 14:47:32 -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
Enrico Schwendig
6dbfb289eb
Local user should never be in the spotlight ( #1125 )
...
* Local user should never be in spotlight
2023-06-21 14:51:41 +02:00
Robin Townsend
7bb45adbe1
Fix lint
2023-06-20 12:13:27 -04:00
Robin Townsend
510d55d88a
Fix local tile showing as unmuted when you join muted
2023-06-18 14:28:28 -04:00
Robin Townsend
eb500ed88e
Skip an unnecessary render when calculating display names
2023-06-18 14:28:07 -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
65f390e2e5
Merge branch 'grid-interactions' into livekit-experiment
2023-06-18 11:45:43 -04:00
Robin Townsend
cd7ab00d80
Don't try to promote the same speaker multiple times
2023-06-18 11:45:01 -04:00
Robin Townsend
ae5b1a367d
Merge branch 'grid-interactions' into livekit-experiment
2023-06-18 11:36:59 -04:00
Robin Townsend
ddeb36db47
Promote speakers to the first page of the grid
2023-06-18 11:35:13 -04:00
Robin Townsend
c3c26e235b
Merge branch 'grid-interactions' into livekit-experiment
2023-06-18 01:13:45 -04:00
Robin Townsend
4e5a75074a
Fix tiles not collapsing toward their center
2023-06-18 01:01:24 -04:00
Robin Townsend
391ba5196c
Make screenshares appear near the presenter's tile and be larger
2023-06-18 00:47:37 -04:00
Robin Townsend
3e56d0a656
Make it possible again to drag a tile into the top left corner
2023-06-18 00:28:08 -04:00
Robin Townsend
d1e7d963a3
Merge branch 'grid-interactions' into livekit-experiment
2023-06-17 22:32:19 -04:00
Robin Townsend
afbcea7b66
Allow the grid to resize with the window width
2023-06-17 22:31:07 -04:00
Robin Townsend
4f582c6ad7
Don't change tile size when dragging
2023-06-17 22:31:07 -04:00
Robin Townsend
8b8d6fd0e0
Push large tiles upwards back into the grid
2023-06-17 22:31:01 -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 Townsend
7f5ec069a5
Merge branch 'main' into livekit-experiment
2023-06-16 12:57:06 -04: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 Abramov
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
Robin Townsend
f4f454f58e
Improve the performance of dragging tiles in the large grid
...
By only updating the one spring of the tile that's being interacted with
2023-06-16 10:20:24 -04:00
Timo K
86ab2b4287
tinyFixes
...
Signed-off-by: Timo K <toger5@hotmail.de>
2023-06-15 11:40:16 +02:00
Timo K
a01e62d9ed
revert of combined video+audio permission request
...
Signed-off-by: Timo K <toger5@hotmail.de>
2023-06-15 11:36:39 +02: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
89768de5e0
Merge pull request #1114 from robintown/screenshare-tiles
...
Fix tiles having the wrong states during screensharing
2023-06-14 12:01:23 -04:00
Robin Townsend
037495a635
Fix tiles having the wrong states during screensharing
...
This fixes a couple bugs:
1. That muting your video while screensharing would cause the screensharing feed to be hidden as well
2. That while screensharing, your user media tile would incorrectly show the label that's supposed to appear only on the screenshare tile
2023-06-14 11:55:43 -04: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
David Baker
30e1034fba
Use new-js-sdk flag to disable the actual calling of group calls
...
In favour of using livekit
2023-06-14 12:13:55 +01: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
556c46320d
Merge branch 'livekit-experiment' into livekit-load-test
2023-06-13 17:24:15 +02:00
Daniel Abramov
6436e66adb
Merge branch 'livekit-experiment' into livekit-load-test
2023-06-13 17:23:42 +02:00
Timo K
49786762bf
review
...
Signed-off-by: Timo K <toger5@hotmail.de>
2023-06-13 17:08:29 +02:00
Timo
5ba60962b9
add className .screenshare to videoTile ( #1105 )
...
Signed-off-by: Timo K <toger5@hotmail.de>
2023-06-13 14:39:05 +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
142605a336
Run prettier
2023-06-12 11:40:59 -04:00
Robin Townsend
ee36d134f3
Fix tile sizes not being set
2023-06-12 11:39:30 -04: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
Timo K
24997f1d3a
update date
...
Signed-off-by: Timo K <toger5@hotmail.de>
2023-06-12 10:16:02 +02:00
Timo K
532dddcb2b
cleanup
...
Signed-off-by: Timo K <toger5@hotmail.de>
2023-06-12 10:14:11 +02:00
Timo K
d4d7518c40
Merge branch 'main' into connectionLostBanner
2023-06-12 10:05:17 +02:00
Robin Townsend
e49439a879
Merge branch 'main' into merge-main
2023-06-10 17:10:42 -04:00
Robin Townsend
ab97f12947
Merge branch 'main' into livekit-experiment
2023-06-09 17:22:34 -04:00
Robin Townsend
554da08628
Fix tiles not animating in the new grid layout
...
The new grid layout has been broken ever since upgrading react-spring, because it was apparently relying on a buggy behavior of react-spring that started transitions automatically even in imperative mode. react-spring 9.5.1 fixed that behavior, which means we now need to manually start the animations.
2023-06-09 13:52:21 -04:00
Timo K
14a32c0fb3
connection lost banner
...
if there is no connection to the home server
Signed-off-by: Timo K <toger5@hotmail.de>
2023-06-09 19:18:30 +02:00
Daniel Abramov
048dce05c3
Explicitly configure options for the LiveKit room
2023-06-09 19:04:46 +02: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
Timo
efc25fd4ec
hotfix Quality survey button interaction ( #1091 )
...
Signed-off-by: Timo K <toger5@hotmail.de>
2023-06-07 17:12: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
Timo
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
Timo
eff8847586
add splitbrain params to MediaReceived event ( #1089 )
...
Signed-off-by: Timo K <toger5@hotmail.de>
2023-06-07 15:59:42 +02:00
Daniel Abramov
dc98960d8d
Properly use LiveKit screen sharing
2023-06-07 15:30:54 +02:00
Robin
166b9fede5
Merge pull request #1086 from robintown/ice-fallback
...
Add a URL parameter for allowing fallback ICE servers
2023-06-07 09:29:34 -04:00
Daniel Abramov
79018606b2
Simplify overly complicated VideoGrid
2023-06-06 13:14:02 +02:00
Enrico Schwendig
f0a6f5919e
move webrtc etc. events from groupCall to matrix.call span ( #1080 )
...
* add new linked span for connection stats
* move stats span under call span and add user attribute
* Update matrix-js-sdk
2023-06-06 08:28:53 +02:00
Robin Townsend
5ef0486eff
Add a URL parameter for allowing fallback ICE servers
2023-06-05 15:52:05 -04: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
274b5b66aa
Add connection quality indicator to the tile
2023-06-02 20:15:29 +02:00
Daniel Abramov
786c584ae2
Fix missing tile names
2023-06-02 20:07:15 +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
3c118f0cf7
Add a comment
2023-05-22 15:44:39 -04:00
Robin Townsend
9c2f4be17c
Bring back the rageshake request modal
2023-05-22 15:30:29 -04:00
Robin Townsend
ae40dea7ec
Make the profile form autosave
2023-05-22 15:12:41 -04:00
Robin Townsend
85380c8142
Make width of profile tab conform to designs
2023-05-22 15:12:41 -04:00
Robin Townsend
6560d9eb1a
Make remove avatar button target area larger
2023-05-22 15:12:41 -04:00
Robin Townsend
69099772e0
Make settings button icon size match designs
2023-05-22 15:12:41 -04:00
Robin Townsend
cf1a7f2e21
Match settings modal to design nuances better
2023-05-22 15:12:41 -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
Robin Townsend
c01e363639
Hide the rageshake request modal when the window is too small
2023-05-17 13:59:15 -04:00
Robin Townsend
f1ee3604de
Make Element Call work in Firefox's resist fingerprinting mode
...
This one is gonna take some explaining:
When in resist fingerprinting mode, Firefox exhibits some funny behavior: when we ask for the the list of media devices, it gives us fake device IDs. But when the js-sdk requests a stream for any of those devices, Firefox associates the stream with the real device ID.
Now, in order to get the names of devices included in their metadata when you query the device list, you need to be holding a stream. For this reason, useMediaHandler was set up to reload the device list whenever matrix-js-sdk got a new local stream. But because of the inconsistency in device IDs, it would enter an infinite cycle telling matrix-js-sdk to request a stream for the fake device ID, but with matrix-js-sdk always responding with the real device ID.
I already wasn't happy with useMediaHandler's use of @ts-ignore comments to inspect private js-sdk fields, and in the meantime we've come up with a simpler function for requesting device names, so I decided to refactor useMediaHandler to use it instead. Importantly, it doesn't break in resist fingerprinting mode.
This created a new UX issue though: now, when on the lobby screen, useMediaHandler would request microphone access so it could get device names, followed immediately by a *second* pop-up for the lobby screen to request camera access. That's 1 pop-up too many, so I changed useMediaHandler to only request device names when a component is mounted that actually wants to show them. Currently, the settings modal is the only such component, and users normally only open it *after* granting full audio/video access, so this solution works out quite nicely.
2023-05-15 23:13:18 -04:00
Timo
172ff266a6
Peer connections count in posthog media summary ( #1046 )
2023-05-15 10:55:36 +02:00
Timo
f0f2ffe972
add audio concealment to posthog exporter ( #1042 )
...
* add audio concealment to posthog exporter
2023-05-14 16:36:41 +02:00
Robin
e3c34a7145
Merge pull request #1053 from robintown/local-tile-size
...
Cap the size of the local tile in 1:1 calls
2023-05-13 13:54:40 -04:00
Robin
1c9b2a24d9
Merge pull request #1054 from robintown/local-feed-contrast
...
Use a more noticeable shadow when displaying one tile on top another
2023-05-13 13:54:12 -04:00
Robin
7ab94cb003
Merge pull request #1056 from robintown/mute-icon
...
Show audio mute status next to people's names
2023-05-13 13:53:51 -04:00
Robin Townsend
caf90d851e
Subtly animate active speaker indicators
...
A light touch of animation here is consistent with what the designs call for, and what we've done with the toolbars on video tiles.
2023-05-12 14:49:55 -04:00
Robin Townsend
a74733f6bc
Show audio mute status next to people's names
...
Previously we were showing a combination of audio and video status icons on people's name badges, which meant there was no way to tell whether someone who had their video off was muted or not. The designs call for only microphone icons to be shown here.
2023-05-12 14:32:16 -04:00
Robin Townsend
440c617738
Use a more noticeable shadow when displaying one tile on top another
...
So that the local tile in 1:1 calls is more discernable against the background, especially when both participants have their video off
2023-05-12 14:16:33 -04:00
Robin Townsend
2df8488c20
Cap the size of the local tile in 1:1 calls
...
So that it doesn't cover up too much of the remote tile at small window sizes
2023-05-12 11:43:17 -04:00
Michael Kaye
d270756443
Useful to be able to hang up rather than close the window.
2023-05-12 16:25:24 +01:00
Michael Kaye
9587dd7352
Prettier
2023-05-11 15:16:17 +01:00
Michael Kaye
099dcd28c7
Test tags for invite links; joining call by UR:; getting call name.
2023-05-11 14:30:32 +01:00
Robin
6f4ab0d3ab
Merge pull request #900 from abhijain2003/abhijain2003/loadingui
...
changes Loading room... to Loading...
2023-05-10 09:36:33 -04:00
Michael Kaye
283b5d4504
Merge pull request #1036 from vector-im/michaelk/data_id_tags_two
...
Add data-testid tags for registration, login, displayname & logout
2023-05-10 13:15:12 +01:00
Šimon Brandner
6cad89b20c
Add success message
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-05-05 19:36:23 +02:00
Šimon Brandner
4c1168aaf7
Feedback copy
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-05-05 19:29:11 +02:00
Šimon Brandner
57e79862a5
User ID -> Username
...
Co-authored-by: Robin <robin@robin.town>
2023-05-05 19:18:34 +02:00
Šimon Brandner
93a47e7009
Fix casing
...
Co-authored-by: Robin <robin@robin.town>
2023-05-05 19:17:59 +02:00
Šimon Brandner
d4f0300c82
Match designs
...
Co-authored-by: Robin <robin@robin.town>
2023-05-05 19:17:49 +02:00
Enrico Schwendig
4181780040
change stats interval to 10s ( #1038 )
2023-05-05 16:14:19 +02:00
Michael Kaye
b19150bbba
RegisteredView needs data tags as not reused from UnregisteredView.
2023-05-05 11:46:05 +01:00
Šimon Brandner
0269753f59
Settings improvements
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-05-05 11:44:35 +02:00
Michael Kaye
c70536996e
Work around data-testid issue by tagging the icon not the Item.
2023-05-03 18:07:06 +01:00
Michael Kaye
a71a1c5c93
(non-working) UserMenu data-testids.
2023-05-03 14:42:44 +01:00
Michael Kaye
f7fc03cdc9
Initial cut of required tags for registration and login flows.
2023-05-03 14:42:44 +01:00
Michael Kaye
52dccff229
Merge pull request #1026 from vector-im/michaelk/data_id_tags
...
Add data ID tags for trafficlight adapter to find
2023-05-03 14:38:55 +01:00
David Baker
f2a7de2d8e
Revert "Revert "Add .gz extension to to traces.json""
2023-05-03 10:43:46 +01:00
Michael Kaye
2318f2c4a0
prettier -w
2023-05-02 17:33:56 +01:00
David Baker
515e00b763
Merge pull request #1030 from vector-im/dbkr/include_org_matrix_call
...
Include org.matrix.call events in sent events for OTel
2023-04-28 09:11:18 +01:00
David Baker
403ee79d61
Include org.matrix.call events in sent events for OTel
2023-04-27 18:01:40 +01:00
Timo K
ecf5f9916c
otel read through code
2023-04-27 14:00:40 +02:00
Michael Kaye
4e8146bc9c
Add screenshare tags
2023-04-27 09:42:25 +01:00
Michael Kaye
323dba620d
Add a range of data-testid tags to be able to cleanly identify parts of the application.
2023-04-27 09:42:25 +01:00
Enrico Schwendig
e3a3859739
Make webrtc stats configurable ( #1019 )
...
* stats: make webrtc stats configurable
2023-04-27 09:30:34 +02:00
David Baker
ecc3693c47
Remove accidental log line
2023-04-25 10:32:36 +01:00
David Baker
7153ead8cb
Remove the console exporter
...
I'm not sure how this got left in, presumably it was not intended.
2023-04-24 19:52:56 +01:00
David Baker
32476571fb
End spans when calls are replaced by a different call
2023-04-24 17:57:05 +01:00
David Baker
060a50d27a
Merge pull request #1020 from vector-im/dbkr/rageshake_processor_event_name
...
Add the event name to the rageshake span processor export
2023-04-21 10:24:31 +01:00
David Baker
4459eaeb9d
Fix audio mute on window blur
...
https://github.com/vector-im/element-call/pull/1015/files missed a
change of spacebarHeld to a ref.
2023-04-21 10:18:43 +01:00
David Baker
f5e2161a9e
Add the event name to the rageshake span processor export
2023-04-20 17:18:06 +01:00
Robin
8437e263af
Merge pull request #1013 from robintown/controls-overlay
...
Keep inspector from covering call buttons
2023-04-20 10:45:36 -04:00
Robin
4719a92ffc
Merge pull request #1015 from robintown/shortcut-focus
...
Make keyboard shortcuts accessible by default
2023-04-20 10:45:11 -04:00
David Baker
d1aa34b2e0
Use the native ResizeObserver where available
...
My dev env suddenly, with no apparent prompt, went into a mode where
it wouldn't display nay video tiles which was because they were 0x0
in the top left corner, which in turn was because the ResizeObserver
was never returning the actual bounds of the video tile container.
As per comment, this uses the native impl in preference to the ponyfill,
although in practice it looks like all our target browsers should support
it, so perhaps we could just remove the ponyfill entirely.
2023-04-20 13:39:25 +01:00
Robin Townsend
4114622d44
Remove the keyboard shortcut setting
2023-04-19 16:15:38 -04:00
Robin Townsend
6f13989819
Fix lint errors
2023-04-19 15:55:55 -04:00
Robin Townsend
1184b71396
Format with Prettier
2023-04-19 15:54:39 -04:00
Robin Townsend
56bd54a645
Disable keyboard shortcuts when focus is in a modal
2023-04-19 15:51:44 -04:00
Robin Townsend
18fa1371d3
Use a ref for spacebarHeld
...
because we can and it means fewer renders
2023-04-19 15:17:32 -04:00
Robin Townsend
6ad4663508
Keep inspector from covering call buttons
2023-04-19 14:43:37 -04:00
Robin Townsend
3c7f01a510
Make audio activity border match the tile border radius
2023-04-19 10:24:47 -04:00
David Baker
8eafb1ae4a
Merge pull request #1005 from robintown/parallel-calls
...
Detect split-brains caused by parallel calls
2023-04-18 17:29:23 +01:00
Enrico Schwendig
3da4b4eeef
Add jitter and packet loss info in summary report ( #1006 )
...
* stats: add jitter and packet loss
2023-04-18 15:20:06 +02:00
David Baker
0de1aa74ee
Use microseconds in the rageshake exporter
...
Fixes times being off by a factor of 1000
2023-04-18 12:48:34 +01:00
Robin Townsend
838137c83b
Detect split-brains caused by parallel calls
...
This is another KPI for PostHog.
2023-04-17 16:58:51 -04:00
David Baker
9442b314b2
Fix PostHog in embedded mode
...
Embedded mode has a differtent path to join the call and we missed
changing the groupCall.enter() function for the wrapper that does
analytics.
2023-04-17 18:47:46 +01:00
Robin
7221b7c3a2
Merge pull request #998 from robintown/rageshake-processor
...
Include unended spans in rageshakes
2023-04-14 11:55:16 -04:00
Robin Townsend
da7760d7ab
Send rejoin events to PostHog in realtime
...
By converting PosthogSpanExporter to a SpanProcessor just like the RageshakeSpanProcessor, it can now monitor spans in realtime as they are started.
2023-04-12 18:14:59 -04:00
Robin Townsend
a17ffcc327
Include unended spans in rageshakes
...
By turning the RageshakeSpanExporter into a SpanProcessor, it can now be notified of spans as soon as they're started.
2023-04-12 17:12:02 -04:00
Robin Townsend
0637804d61
Fix a crash when adding call events to telemetry
...
Since typeof null is 'object', the flattenVoipEventRecursive function was mistakenly casting nulls to Record<string, unknown> in its typeof v === "object" case, causing Object.entries to explode.
2023-04-11 23:05:37 -04:00
Robin
a2b3e098b6
Merge pull request #995 from robintown/rageshake-traces
...
Include OpenTelemetry traces in rageshakes
2023-04-11 16:24:09 -04:00
Enrico Schwendig
e2293665f9
Add posthog event for summary report ( #992 )
...
* stats: add posthog event for summary report
* stats: remove console log
2023-04-11 09:06:13 +02:00
Robin Townsend
95eca18207
Include OpenTelemetry traces in rageshakes
2023-04-11 01:13:19 -04:00
Enrico Schwendig
bb5c382fd0
separate summary report from stats report ( #986 )
...
* stats: separate summary report from stats report
* stats: switch to last summery stats builder
* stats: update matrix-js-sdk
2023-04-06 13:19:39 +02:00
David Baker
dd1485a277
Merge pull request #988 from vector-im/dbkr/enable_otel_by_collector
...
Allow different OpenTelemetry collectors to be enabled/disabled
2023-04-05 20:05:41 +01:00
David Baker
caea22fa89
Remove the recheck callback since it isn't necessary for now
2023-04-05 19:00:07 +01:00
David Baker
88f3b30040
Allow different OpenTelemetry collectors to be enabled/disabled
...
Always enable OpenTelemetry, but conditionally enable the OTLP
exporter, as per comment.
Fixes https://github.com/vector-im/element-call/issues/987
2023-04-05 18:21:29 +01:00
Robin Townsend
928f1c1d6f
Address review feedback
2023-04-05 12:56:50 -04:00
Robin Townsend
711cdf9a60
Merge branch 'main' into audio-observability
2023-04-05 12:50:38 -04:00
David Baker
fec299ab20
Skip whole block if no otel instance
2023-04-05 15:11:51 +01:00
David Baker
5e4aa53997
Don't call posthog before its initialised
2023-04-05 15:00:14 +01:00
David Baker
0dcaa90650
Fix exception when loading PostHog
...
PostHog was expecting the matrix client object to be initialised at
the point it ran its setup, which wasn't the case. Check to see if it's
there on login and add an onLoginStatusChanged hook that to re-check.
Also make a few methods private that didn't need to be public.
Also fix a few instances where the OpenTelemetry group call tried to
report metrics using a tracer which didn't exist anymore, if the user
disabled analytics and then joined the same call again.
2023-04-05 13:06:55 +01:00
David Baker
b061cbfb2f
Remove the other listeners
2023-04-05 10:01:58 +01:00
David Baker
23ddd73f4f
Merge remote-tracking branch 'origin/main' into dbkr/otel_peerconn_events
2023-04-05 09:35:43 +01:00
Enrico Schwendig
390442a4c3
Add webrtc metric to OTel ( #974 )
...
* stats: Add summery report
---------
Co-authored-by: David Baker <dave@matrix.org>
2023-04-05 10:25:26 +02:00
David Baker
c824ea6f9a
Add OpenTelemetry events for PeerConnection state changes / errors
...
Creates a new class to represent individual calls and adds the listeners
there.
Requires https://github.com/matrix-org/matrix-js-sdk/pull/3251
Based on https://github.com/vector-im/element-call/pull/974
2023-04-04 18:00:45 +01:00
David Baker
28196a2e9d
Merge pull request #981 from vector-im/dbkr/call_events_to_call_span
...
Move call events to the call span
2023-04-04 17:52:41 +01:00
David Baker
5b70def4d2
Add null check for call span
2023-04-04 17:49:49 +01:00
David Baker
2cd549cdc8
Merge pull request #982 from vector-im/dbkr/otel_flatten_include_booleans
...
Include booleans in flattened OpenTelemetry object
2023-04-04 17:26:20 +01:00
Robin
e0089a0aee
Merge pull request #958 from robintown/forced-opt-in
...
Opt into analytics by default during the beta
2023-04-04 09:27:01 -04:00
Robin
61a0534984
Merge pull request #983 from robintown/rejoin-analytics
...
Track call rejoins
2023-04-04 09:18:40 -04:00
Robin Townsend
a52251befa
Track call rejoins
...
Call rejoins will be one of the KPIs we track in PostHog to measure call quality. I've also reverted the previous behavior which logged all OpenTelemetry spans to PostHog, since we should only be sending small, anonymized bits of data there.
2023-04-03 21:05:13 -04:00
David Baker
30f75c6cd2
Don't pass null / undefined as attribute value
2023-04-03 17:41:40 +01:00
David Baker
8fa23b7da9
Include booleans in flattened OpenTelemetry object
2023-04-03 16:58:29 +01:00
David Baker
277081ee2a
Move call events to the call span
2023-04-03 14:35:04 +01:00
David Baker
3a7983d2de
Add displayname on call spans
2023-04-03 14:31:17 +01:00
Enrico Schwendig
3b06258e40
stats: rename enum to avoid shadow values
2023-04-03 14:07:29 +02:00
Enrico Schwendig
889a31489b
stats: fix typo
2023-04-03 12:37:55 +02:00
Enrico Schwendig
dd67a45671
stats: Add summery report
2023-03-31 14:57:56 +02:00
Enrico Schwendig
707272bf19
Merge branch 'dbkr/otel' into enricoschw/real-time-media-statistics-for-full-mesh
2023-03-31 13:14:49 +02:00
David Baker
dc725f90a9
Fix confusing comment
2023-03-31 11:12:10 +01:00
David Baker
a1aca7bdf2
Fix lying comment
2023-03-31 11:10:05 +01:00
David Baker
5e6c33b3b5
Let otel know we're joining before trying to join
...
Otherwise it starts getting calls being created before the group call
span exists and we get call spans not associated with the group call
span.
(What 74b218af8c
should have been)
2023-03-31 10:30:01 +01:00
David Baker
c2b78d59c6
Add more events:
...
* VoIP events received
* Call errors
* Group call errors
* Undecryptable to-device events
2023-03-30 16:54:10 +01:00
David Baker
21458c8840
Call the same leave method everywhere
...
So we end the group call span whenever we leasve the call, including
if we close the page.
2023-03-30 13:03:58 +01:00
David Baker
f96ce8985d
Only enable otel if we have a collector URL
2023-03-29 16:04:11 +01:00
David Baker
4bf1fbfd8e
Gah, the sentry logger
2023-03-29 13:31:47 +01:00
David Baker
34a72679a1
Merge remote-tracking branch 'origin/main' into dbkr/otel
2023-03-29 12:30:41 +01:00
David Baker
77c6357b08
Use js-sdk from hangup refactor branch
...
https://github.com/matrix-org/matrix-js-sdk/pull/3234
2023-03-29 12:28:04 +01:00
Enrico Schwendig
66c3d05ae9
docu: Add webrtc metric to OTel
2023-03-28 11:51:15 +02:00
Robin Townsend
c4f029ae4f
Fix lint error
2023-03-27 22:30:12 -04:00
Robin Townsend
5f41f9476b
Disable the opt in analytics setting if Posthog isn't configured
2023-03-23 13:07:34 -04:00
Robin Townsend
313ebe258e
Add end-to-end audio observability
...
This reports via OpenTelemetry when particular participants are speaking, as an easy way to observe the delivery of audio in calls.
2023-03-22 14:23:26 -04:00
Robin Townsend
76c0277301
Update matrix-js-sdk
2023-03-22 11:41:41 -04:00
David Baker
48493a96e1
Wait until config is loaded to load otel
2023-03-22 12:41:33 +00:00
David Baker
9c0adfd32e
Unused import
2023-03-22 12:00:34 +00:00
David Baker
f6fb65be49
Remove odd source mapping comment & unused commented code
2023-03-22 11:58:41 +00:00
David Baker
3d6ae3fbc3
Enable/disable opentelemetry based on config/user preference
...
Add config to set collector URL, obey the same analytics setting as
posthog. Also refactor into a class to make it easier to manage.
2023-03-22 11:55:21 +00:00
David Baker
359e055314
Make callMembershipSpan optional
2023-03-21 12:13:51 +00:00
David Baker
9b02d17224
Merge branch 'main' into dbkr/otel
2023-03-20 19:20:13 +00:00
David Baker
6b36604c84
Update js-sdk
2023-03-20 19:17:50 +00:00
David Baker
e7a7cf3eb8
Export events to posthog too
2023-03-20 13:30:21 +00:00
David Baker
63ede0b51a
Version using events for call joins / leaves and matrix events
...
This is probably conceptually nicer although isn't quite as nice in
the jaeger / stalk UI.
Also this may no loger work with the posthog exporter (unsure what it
will do with events on spans).
2023-03-17 19:26:23 +00:00
David Baker
2d91b43a7d
Set attributes on the root span
...
Setting them on the context doesn't actually make them show up in
jaeger, it's just a way to propagate the info around between
different things.
2023-03-17 19:03:43 +00:00
David Baker
f8f5d2011d
Add CORS to jaeger query endpoint and make spans nested
...
Adds an nginx in front of the query endpoint so we can use stalk
without faffing with browser extension to bypass CORS.
Also make the spans correctly have the call membership span as parent,
which they didn't because we hadn't set the span at the point we made
the context.
2023-03-17 17:01:59 +00:00
alariej
1bf1813a77
Fix for Android WebView, which does not support navigator.mediaSession
2023-03-17 17:20:16 +01:00
David Baker
521b0a857a
Send spans for state events
2023-03-16 18:08:28 +00:00
David Baker
31450219c8
More work on opentelemetry event reporting
...
Moastly a re-org to avoid new contexts over React component unmounts/
remounts.
2023-03-16 14:41:55 +00:00
David Baker
c519e13885
Version that does at least send some traces
2023-03-15 16:00:39 +00:00
David Baker
0cca5ae174
Slightly evolved but not-yet-working OpenTelemetry
...
More usefully, including docker config for starting a CORS enabled
OTLP collector so we don't have to use zipkin.
2023-03-15 14:35:10 +00:00
Robin Townsend
971eca59ff
Opt into analytics by default during the beta
2023-03-13 19:12:47 -04:00
Timo K
4c59638d00
otel for call start, end and mute
...
This is send over zipkin.
And it uses a posthog exporter to export events to posthog
using a _otel prefix
2023-03-10 10:33:54 +01:00
Robin
5eb552e36a
Merge pull request #935 from alariej/alariej
...
Add e2eEnabled parameter to Widget client
2023-03-02 16:07:04 -05:00
Enrico Schwendig
29e41c7227
Allow Element Call to be started without audio / video interface ( #924 )
...
* config: add feature in `config.json`
* groupCall: adjust connection state in feed if allowCallWithoutVideoAndAudio
* matrix-js-sdk: update version for allowCallWithoutVideoAndAudio
- I modified the SDK so that mute unmute work without media and check device permission inside the SDK
- allowCallWithoutVideoAndAudio is only checked at one point outside the SDK
* docu: add join group call without media docu in READMe
---------
Co-authored-by: Robin Townsend <robin@robin.town>
Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-03-02 18:48:32 +01:00
alariej
58d87db55f
Add e2eEnabled parameter to Widget client
2023-03-01 14:30:25 +01:00
Timo
0423a494c4
Checkbox for analytics opt in & settings redesign ( #934 )
2023-03-01 13:47:36 +01:00
David Baker
64703fd3cc
Typo
...
Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-02-28 14:09:52 +00:00
David Baker
53bc8eb82f
Behave sensibly if a full room alias is entered
...
Check explicitly to see if the room name that's enetered into the box
looks like a room alias and if so, do the sensible thing.
Fixes https://github.com/vector-im/element-call/issues/852
2023-02-28 13:50:24 +00:00
Šimon Brandner
c6f85c7ab8
Update js-sdk
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-02-17 15:04:10 +01:00
Robin Townsend
1fc181dc28
Document useReactiveState
2023-02-15 16:38:49 -05:00
Robin Townsend
fbc72283d4
Add missing copyright headers
2023-02-15 16:20:58 -05:00
Enrico Schwendig
1548a5673f
Extend developer view with media debug information ( #909 )
...
* interceptor: add MediaStream feed debug interceptor
- interceptor displays nick name for default and nick name + user id if user gast
- interceptor displays track id + media stream ids
2023-02-15 16:04:05 +01:00
Robin Townsend
efbf319fa1
Explain why we cast the tile springs
2023-02-13 22:40:26 -05:00
Robin Townsend
ef4a62ca62
Document useMergedRefs
2023-02-13 22:38:27 -05:00
Robin Townsend
58ed372afa
Fix type and lint errors
2023-02-13 21:57:57 -05:00
Robin Townsend
69e6ba93c1
Add a switch to toggle between the new and old grids
2023-02-13 20:36:42 -05:00
Robin Townsend
b2b2f0bb15
Merge branch 'main' into big-grid
2023-02-13 18:54:19 -05:00
Robin Townsend
5448744871
Document grid operations
2023-02-13 18:35:23 -05:00
David Baker
605dd44df0
Rename other instance of variable
2023-02-13 15:49:58 +00:00
David Baker
07a4de638f
Don't pause audio streams on media actions
...
This adds handlers for the media actions to do nothing, otherwise
they cause the audio element for a random participant to get paused.
Fixes https://github.com/vector-im/element-call/issues/855
2023-02-13 15:20:48 +00:00
Abhi Jain
33dd2758d7
change ... to … unicode for consistency
2023-02-13 09:55:32 +05:30
Timo
eda11cfc08
Inform that the user that config keys are missing ( #880 )
2023-02-09 12:57:54 +01:00
Abhi Jain
d40e467b7d
changes Loading room... to Loading...
2023-02-08 14:26:56 +05:30
Robin Townsend
d852e33413
Document the component
2023-02-08 00:32:08 -05:00
Robin Townsend
8d46687a54
Refactor grid state tracking
2023-02-07 23:27:49 -05:00
Robin Townsend
978b0f08e8
Move grid algorithms into a separate file
2023-02-07 22:13:50 -05:00
Robin Townsend
374c68e3c0
Fix tiles enlarging to the wrong place on mobile
2023-02-05 01:17:28 -05:00
Robin Townsend
82ac775124
Fix scrolling on mobile
2023-02-05 00:55:12 -05:00
Robin Townsend
6adcf95aaa
Implement different column counts and mobile layout
2023-02-04 00:43:53 -05:00
Robin Townsend
206730ffc0
Fix infinite loop when a tile can't be enlarged
2023-02-03 16:52:42 -05:00
Robin Townsend
1e858f6ba3
Fix a typo
2023-02-03 16:27:49 -05:00
Robin Townsend
22382413dc
Make drag and drop mobile-friendly
2023-02-03 15:42:47 -05:00
Robin Townsend
6cd939db0c
Fix a crash when there's only 1 tile and it gets shrunk
2023-02-03 09:11:25 -05:00
Robin Townsend
42e4f6ce83
Don't allow the grid to overflow horizontally
2023-02-03 08:44:35 -05:00
David Baker
8ffdf34b0a
Merge remote-tracking branch 'origin/main' into feature_sfu
2023-02-02 14:42:38 +00:00
David Baker
579b91abff
Revert "Yarn upgrade"
2023-02-02 14:32:44 +00:00
David Baker
9de7fe81f2
Merge branch 'main' into feature_sfu
2023-02-02 13:48:44 +00:00
David Baker
e1abbd5291
Yarn upgrade
...
Along with some type fixes to make typescript happy again. Hopefully
they are sensible.
2023-02-02 12:49:54 +00:00
Robin Townsend
4fc8598e36
Keep tile elements in a stable order
2023-02-01 11:50:52 -05:00
Robin Townsend
6784d2ba97
Remove redundant key prop
2023-02-01 11:50:25 -05:00
Robin Townsend
0915e327e1
Implement somewhat working drag & drop and improve render memoization
2023-02-01 11:32:10 -05:00
Robin Townsend
eedf8a6d1b
Make tiles draggable (but not yet droppable)
2023-02-01 00:17:22 -05:00
Šimon Brandner
ab70926274
Delint
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-01-31 11:04:48 +01:00
Šimon Brandner
6ff8215e7a
Reduce diff
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-01-31 11:01:21 +01:00
Šimon Brandner
c492fcd448
Always show debug info
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-01-31 11:00:13 +01:00
Robin Townsend
d7db845f3b
Scroll snap was a bad idea
2023-01-30 23:52:46 -05:00
Robin Townsend
82c7293308
Replace premature animation optimization with a potentially wiser one
2023-01-30 23:44:19 -05:00
Robin Townsend
0166eb67fb
Make avatars scale smoothly during animations
2023-01-30 23:43:45 -05:00
Robin Townsend
e3081c1c06
Try out a snappier spring
2023-01-30 23:32:26 -05:00
Robin Townsend
f540f48461
Fix some layout bugs
2023-01-30 23:32:00 -05:00
Robin Townsend
55dece274f
Fix some tile resizing bugs
2023-01-30 17:04:43 -05:00
Šimon Brandner
abb43bfe59
Show debug only conditionally
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-01-30 22:07:00 +01:00
Šimon Brandner
807a6a8545
Add call feed size debug info
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-01-30 20:43:21 +01:00
Robin Townsend
4e73c07cb2
Try out scroll snapping
2023-01-30 09:35:40 -05:00
Robin Townsend
3805a2f20e
Format with Prettier
2023-01-29 21:56:07 -05:00
Robin Townsend
4e35984900
Extract tile size change logic into a function
2023-01-29 21:54:53 -05:00
Robin Townsend
e99294c3f1
Simplify some code
2023-01-29 21:45:10 -05:00
Robin Townsend
8912daa922
Make tiles resizable and fix some miscellaneous bugs
2023-01-25 23:51:36 -05:00
Šimon Brandner
3d0906a145
Merge remote-tracking branch 'upstream/main' into feature_sfu
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-01-25 17:13:01 +01:00
Robin Townsend
045103dbc9
Backfill the grid as people leave by moving tiles along paths
2023-01-25 02:30:52 -05:00
David Baker
d2631a3e02
Fix the rageshake modal on mobile
...
As per comment
Unsure if this is the best fix - ideally we wouldn't go into no-controls
mode at all, but this part doesn't know whether the dialog is open so
the only thing we could really do is tweak the threshold, or possibly
guess based on width instead?
2023-01-23 17:52:02 +00:00
David Baker
d65464e4db
Avoid duplicate PTT button 'unhold' events
...
We called the 'unhold' function even if the button wasn't held which
probably will have been generating unmute events even when we weren't
muted.
Also use separate handlers for events so we can have specific log lines
(and also see where the event comes from when caught in the debugger).
2023-01-23 16:53:24 +00:00
Robin Townsend
59f3b05c07
Merge branch 'main' into big-grid
2023-01-23 08:57:04 -05:00
David Baker
4f8bd18efd
Don't try to register users until client is loaded
2023-01-20 17:59:57 +00:00
David Baker
47c2e9e101
Don't crash if we can't find our own member event
2023-01-20 12:10:58 +00:00
David Baker
81997624d4
Fix joining rooms by ID
...
We use this in embedded mode. Regressed by https://github.com/vector-im/element-call/pull/860
Lowercasing room IDs obviously makes them break, so… don't do that.
2023-01-20 10:51:52 +00:00
David Baker
7e1033f5a4
Add colon in comment
...
Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-01-20 09:35:50 +00:00
David Baker
524f530dce
Lowercase room alias before joining
2023-01-19 19:20:42 +00:00
Robin Townsend
46d1351d83
More fixes
2023-01-18 13:38:29 -05:00
Robin Townsend
2318d75bc7
prettier
2023-01-18 11:33:40 -05:00
Robin Townsend
486674c442
fixes
2023-01-18 11:32:51 -05:00
Robin Townsend
d3fba7fd5f
WIP minus unfinished split grid layouts
2023-01-18 10:52:12 -05:00
David Baker
e1c4042d15
Add units to constant
2023-01-17 10:16:55 +00:00
David Baker
8284d0da60
Don't crash if no stream on callfeed
2023-01-16 18:10:50 +00:00
David Baker
860aff4958
Change rageshake persistence to throttled flushing
...
Rather than every 30 seconds. This way we'll save logs for sessions
lasting less than 30 seconds which we previously didn't. Also save
on window unload just in case that doesn't catch everything.
Plus remove some more unused params.
2023-01-16 17:27:49 +00:00
David Baker
13b1dcf785
Mostly cosmetic fixes to rageshake
...
* Remove duplicate copyright header
* Remove ts-ignores by just using the objects directly rather than via
event.target
* Use error.message rather than errorCode which TS doesn't know about
and may or may not exist.
* Remove some unused things like the skip rageshake function and
the option to init rageshakes without storage.
* Turn single function with a boolean param to make it take two entirely
separate code paths into two functions.
2023-01-16 16:43:45 +00:00
David Baker
abd909c03a
Log undecryptable to-device events
...
Listen for the new undecryptable to-device event event and log
events for it in Posthog & Sentry, and make it visible in the
call flow diagram.
2023-01-13 18:27:22 +00:00
Šimon Brandner
c0bc52cdf2
Merge remote-tracking branch 'upstream/feature_sfu' into feature_simulcast
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-01-13 17:48:01 +01:00
Šimon Brandner
e0f0dccc55
Reduce diff
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-01-13 17:42:15 +01:00
Šimon Brandner
4e64c71a4c
Merge remote-tracking branch 'upstream/main' into feature_sfu
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-01-13 17:40:05 +01:00
David Baker
afdce66896
Merge remote-tracking branch 'origin/main' into dbkr/prevent_keyrepeat_mute_spam
2023-01-13 11:57:02 +00:00
David Baker
1b08a5cac3
Rename file
2023-01-13 11:56:29 +00:00
David Baker
843e7690fa
Merge pull request #845 from vector-im/dbkr/disable_keyboard_shortcuts_rageshake
...
Disable keyboard shortcuts when feedback modal is open
2023-01-13 11:55:51 +00:00
David Baker
a5977fc992
Rename to useCallViewKeyboardShortcuts
2023-01-13 11:52:40 +00:00
David Baker
f2193302c1
Prevent mute event spam from key repeats
2023-01-12 18:26:21 +00:00
David Baker
9ba4ce429f
Disable keyboard shortcuts when feedback modal is open
2023-01-12 17:31:19 +00:00
David Baker
5f26534496
Use IndexedDB storage in dev mode, just without the worker
...
As per comment, we can't use workers in Vite dev mode. We previously
fell back to the memory store but this ends up with it working significantly
differently in dev mode to production, eg. dev mode would always start
by doing an initial sync, so old to-device messages would arrive again.
There's no need to fall all the way back to the memory store though,
we can use the IndexedDB store without the worker.
2023-01-12 15:17:46 +00:00
Šimon Brandner
72a02b1b01
Add proper (un)subscribe logic
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-01-10 21:00:30 +01:00
Robin
4e0f4a8dc7
Merge pull request #835 from robintown/unmuted-when-speaking
...
Work around mute state updates being slow
2023-01-09 13:35:05 -05:00
Šimon Brandner
0d151452ba
Merge pull request #833 from vector-im/SimonBrandner/feat/hide-audio
2023-01-09 19:28:04 +01:00
Robin Townsend
4fd76f9599
Work around mute state updates being slow
...
Since the app already determines when someone is speaking, we can use that information to make it less obvious when to-device messages are being slow to deliver mute state updates.
2023-01-09 11:10:59 -05:00
Šimon Brandner
881054e265
Hide local volume controls for tiles with no audio
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-01-07 10:09:20 +01:00
Šimon Brandner
53b21688b9
Merge branch 'feature_sfu' into feature_simulcast
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-01-07 09:49:21 +01:00
Šimon Brandner
7dc6455225
Merge remote-tracking branch 'upstream/main' into feature_sfu
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-01-07 09:47:55 +01:00
Robin Townsend
468e389324
Leave audio elements unmuted regardless of mute state
2023-01-06 10:26:10 -05:00
Timo
e5135a41ba
Add call id to mute events ( #827 )
2023-01-05 11:05:22 +01:00
Timo
67d1c29d6a
decrease wait after call ended to 10ms ( #825 )
...
* decrease wait after call ended to 10ms
* new order of widget requests to avoid pip flicker
2023-01-05 00:01:57 +01:00
Robin Townsend
faa8f95f97
Reduce the size of the local feed in 1:1 calls at small window sizes
2023-01-04 08:38:24 -05:00
David Baker
28946d0774
Merge branch 'feature_sfu' into feature_simulcast
2023-01-03 22:59:44 +00:00
David Baker
9adde2fde5
Merge remote-tracking branch 'origin/main' into feature_sfu
2023-01-03 22:59:26 +00:00
David Baker
11a262b58f
Merge pull request #819 from vector-im/dbkr/prefix_other_fullscreen_apis
...
Use prefixed versions of other fullscreen APIs too
2023-01-03 22:56:49 +00:00
David Baker
62e4e80ca3
Merge pull request #818 from vector-im/dbkr/fix_copyright_headers
...
Fix copyright headers
2023-01-03 22:56:40 +00:00
David Baker
c34a1f7f65
Use prefixed versions of other fullscreen APIs too
2023-01-03 18:35:00 +00:00
David Baker
70b693ef3c
Revert d2175b4
...
Unintentionally comitted to main
2023-01-03 18:34:27 +00:00
David Baker
d2175b40a4
Use prefixed versions of other fullscreen APIs too
2023-01-03 18:33:11 +00:00
David Baker
1830acbddf
Fix copyright pt. 2: CSS files
2023-01-03 16:58:38 +00:00
David Baker
df9c1fed2a
Fix copyright headers
...
This is an Element project (in the vector-im repo) so the Copyright
should be for New Vector: it was incorrectly attributed to the
foundation for some files (and some files were missing headers).
2023-01-03 16:55:26 +00:00
Timo
05be247946
send posthog callEnded events instantly in embedded mode (prohibit missing events) ( #816 )
...
Signed-off-by: Timo K <timok@element.io>
Co-authored-by: Timo K <timok@element.io>
2023-01-03 17:09:21 +01:00
David Baker
b9ee9583e4
Fix fullscreen on Safari ( #814 )
...
* Fix fullscreen on Safari
Safari only supports it via the webkit prefix
Fixes https://github.com/vector-im/element-call/issues/539
* NOT THAT LOGGER, VSCODE
2023-01-03 11:24:10 +00:00
David Baker
5823cd41e8
Translate separately so the i18n gets less confused
2022-12-22 14:23:19 +00:00
David Baker
de0f2e65a5
Don't show option to submit bug reports if no endpoint configured
2022-12-22 14:12:49 +00:00
David Baker
d7d7bee685
Remove the overflow menu button in fullscreen mode
...
It didn't work and fixing it is a bit of a project: see comment
https://github.com/vector-im/element-call/issues/807
2022-12-22 12:16:05 +00:00
David Baker
b426308fa8
Simulcast support
2022-12-21 18:24:44 +00:00
David Baker
ec4e2897ee
Prettier
2022-12-21 18:14:31 +00:00
David Baker
795566ccef
Null check
2022-12-21 18:12:53 +00:00
David Baker
3220d06616
Support for SFUs
...
Mostly just using the right js-sdk, then adding temporary config for
which SFU to use until we can get it from the homeserver.
2022-12-21 18:01:58 +00:00
David Baker
70522ed8da
Also add comment
2022-12-21 15:26:24 +00:00
David Baker
3581aceb5a
Addd ResolvedConfigOptions back
2022-12-21 15:25:08 +00:00
David Baker
29f48f25f4
Actually remove the bit that's no longer neccessary
2022-12-21 15:17:34 +00:00
David Baker
c879090a34
Re-jig config accessors
...
We only ever used the static instance() method to get to the config
object, so just make a static instance that returns the ConfigOptions
directly, throwing an exception if it's not yet initialised. This way
the types can all be non-optional (plus it's shorter).
2022-12-21 10:17:53 +00:00
David Baker
6303b357ab
Update default homeserver to match what the docs say
2022-12-21 10:01:37 +00:00
David Baker
b3d97810a8
Unused import
2022-12-21 09:44:28 +00:00
David Baker
eaf14a0562
Don't send rageshakes or start sentry if we don't have config for them
2022-12-21 09:42:27 +00:00
David Baker
fd3c0d9fc6
Don't guess the server name from the URL
...
It only uses the default HS URL anywayso just use the default
server name.
2022-12-21 09:27:25 +00:00
David Baker
c85d1c1d9c
Don't touch the product name option for now
2022-12-20 17:30:47 +00:00
David Baker
96de515e56
Move default homeserver to config file
2022-12-20 17:26:45 +00:00
David Baker
7c26bdbda3
Put the maximised conditional back
...
and comment it
2022-12-19 15:10:25 +00:00
David Baker
4ad5ea49c2
Merge remote-tracking branch 'origin/main' into dbkr/spatial_audio_ff_only
2022-12-19 13:18:12 +00:00
Timo
e3aa810230
Posthog widget embedding ( #767 )
...
* load analytics id from url in embedded mode
Signed-off-by: Timo K <timok@element.io>
* add start call in the widget code path
Signed-off-by: Timo K <timok@element.io>
* send group call id instead of call name
Signed-off-by: Timo K <timok@element.io>
* generate analyticsid based on account analyticsid
This make it impossible to find users from the element web posthog instance
in the element call instance
* move registration type setup PosthogAnalytics.ts
* Order identificaition and tracking.
This fixes an issue that the widget version did not identify the user before sneding
the first track event.
Because start call is called right after app startup.
Signed-off-by: Timo K <timok@element.io>
2022-12-19 12:16:59 +01:00
David Baker
c6ad2003f0
Add other missing file
2022-12-16 17:28:52 +00:00
David Baker
9aed344a80
Add missing file
2022-12-16 17:25:28 +00:00
David Baker
0c55efe4b6
Don't reorder imports - 3rd time's a charm
2022-12-16 17:20:52 +00:00
David Baker
c93df1fd06
Don't reorder import try 2
2022-12-16 17:19:40 +00:00