Commit Graph

1972 Commits

Author SHA1 Message Date
Robin
a7556f66b1 Update the colors of name tags
This was changed in the designs so we don't have to hard-code colors for them anymore.
2023-09-27 18:36:14 -04:00
Robin
05013cc510 Remove Storybook
As discussed in today's team meeting, no one is using the Storybook files anymore, and they're a maintenance burden, so we should remove them.
2023-09-27 18:32:11 -04:00
Robin
1dc4ef67f3 Remove the group call inspector
It's unused ever since we switched to LiveKit, and we intend to use other telemetry mechanisms going forward to fill this debugging use case, so it can be removed as discussed in today's team meeting.
2023-09-27 18:27:42 -04:00
Robin
916a88712a Replace the avatar stack in the header with an icon
This is a design update.
2023-09-27 18:12:04 -04:00
Robin
8a14d60cb4 Implement the new invite modal designs 2023-09-27 17:45:18 -04:00
Robin
a959436ac7 Change wording from 'share' to 'invite'
This was updated in the designs.
2023-09-27 15:17:04 -04:00
David Baker
03caa22f0e
Merge pull request #1611 from vector-im/dbkr/depthlimit
Re-enable livekit rageshake logging & with depth limit
2023-09-27 13:28:38 +01:00
Robin
eedd19f515
Merge pull request #1595 from robintown/border-priority
Give speaking border priority over hover border
2023-09-27 07:58:07 -04:00
Robin
6bb004ea55
Merge pull request #1594 from robintown/grid-clipping
Fix the video grid getting clipped at the edges
2023-09-27 07:57:56 -04:00
Robin
2f0469880b
Merge pull request #1593 from robintown/layout-toggle-bg
Make the layout toggle opaque
2023-09-27 07:57:44 -04:00
David Baker
3016866a4b Make the right function a real function, then the 'this' param works 2023-09-26 18:30:39 +01:00
David Baker
2cfa007d4c
Typo
Co-authored-by: Robin <robin@robin.town>
2023-09-26 17:31:00 +01:00
David Baker
4613d43c3c Re-enable livekit rageshake logging & with depth limit
Puts livekit logs back in the rageshake logs and adds a recursion
limit to the object serialiser in rageshake.
2023-09-26 12:08:08 +01:00
David Baker
a1aaacaad7
Merge pull request #1592 from vector-im/dbkr/use_loglevel
Use the loglevel library's extensions
2023-09-26 11:14:47 +01:00
David Baker
31446e7997
Typo
Co-authored-by: Robin <robin@robin.town>
2023-09-25 20:55:04 +01:00
Robin
988f0a8bc9 Give speaking border priority over hover border
Because that's how it works in the designs
2023-09-25 14:38:00 -04:00
Robin
14bd53c02b Fix the video grid getting clipped at the edges
And also, put the scroll bar in a more sensible spot by turning the footer into a proper sticky footer.
2023-09-25 14:16:29 -04:00
Robin
172c7664be Make the layout toggle opaque
So that the background doesn't shine through it
2023-09-25 14:13:35 -04:00
David Baker
c546042d18 Use the loglevel library's extensions
...instead of monkey patching the console log objects. We use a logging
framework everywhere now (this fixes the times when we didn't...)
so there's not really a reason to do this the hacky way anymore.

This means that log lines now appear to come from whatever else is
intercepting the logger (eg. sentry) rather than rageshake.ts.

Opinions on this welcome on whether it's better or not.
2023-09-25 18:04:34 +01:00
Robin
d672190c6f Swap the microphone and video buttons
Per feedback and discussion with design, we should keep them in the order they were previously.
2023-09-25 10:39:18 -04:00
David Baker
b0f63eb2ff
Revert "Capture livekit's logs in rageshakes" 2023-09-25 09:32:32 +01:00
Robin
a7624806b2 Upgrade eslint-plugin-matrix-org to 1.2.1
This upgrade came with a number of new lints that needed to be fixed across the code base. Primarily: explicit return types on functions, and explicit visibility modifiers on class members.
2023-09-22 18:07:06 -04:00
David Baker
0297008339 Don' always try to join rooms
Look up the alias manually instead. As hopefully explained by the comment.

We hope this may fix a bug where the room ID appeared instead of the room name.
2023-09-22 18:56:34 +01:00
David Baker
48b038914f
Revert "Refactor useIsRoomE2EE" 2023-09-22 18:20:29 +01:00
David Baker
f05cae71a8 Use consistent import 2023-09-22 18:05:51 +01:00
David Baker
3cd0ca205b Refactor useIsRoomE2EE
Make it take a room object rather than a room ID to avoid it depending
on a side effect, ie. if the room object input changes, the hook will be
re-run but if we can't get the room from the room ID for whatever reason,
we'd be stuck.

Also add logging on why we decided a room was e2ee.
2023-09-22 15:35:03 +01:00
David Baker
9bf0dc7dee Unused import 2023-09-21 16:58:02 +01:00
David Baker
9c878eab80 Capture livekit's logs in rageshakes 2023-09-21 16:50:31 +01:00
Timo
1e84e438b7
New url schema (#1554)
* new url schema

Signed-off-by: Timo K <toger5@hotmail.de>
Co-authored-by: Robin <robin@robin.town>
2023-09-20 19:55:17 +02:00
Robin
1c41373ddd
Merge pull request #1560 from vector-im/fix-double-audio
Fix double audio tracks
2023-09-20 13:51:19 -04:00
David Baker
a5131be7c7
Merge pull request #1557 from vector-im/dbkr/fix_password_race
Fix race where app would be opened with no e2ee key
2023-09-20 18:42:35 +01:00
Robin
69bf3bd9a1 Fix double audio tracks
See comments. I'm not very happy with how this code bounces state in and out of different hooks and useEffect blocks, but as a quick fix this should work.
2023-09-20 13:26:34 -04:00
David Baker
cbf27fc887 Also use return value password in the other hook 2023-09-20 17:40:37 +01:00
David Baker
ed0059c898 Hopefully actually fix password bug 2023-09-20 17:05:10 +01:00
David Baker
850cae9dfa Revert "fix url by providin a last & (#1550)"
This reverts commit 54e6fd4c07.
2023-09-20 16:31:45 +01:00
David Baker
4f43402299 Log an error if we don't have the key when generating a url for en e2ee room 2023-09-20 16:29:46 +01:00
David Baker
96c6217a83 Fix race where app would be opened with no e2ee key
The key hadn't been extractwed from the URL at the point the modal
was mounted, so it just didn't get the key.
2023-09-20 16:25:02 +01:00
Timo
5c377ba01d
Dont ignore rest of url (#1555)
Signed-off-by: Timo K <toger5@hotmail.de>
2023-09-20 16:26:09 +02:00
David Baker
4842b2a89b
Merge pull request #1552 from vector-im/dbkr/unsupported_browser_message
Better error for browsers that don't support e2ee
2023-09-20 14:30:22 +01:00
Timo
54e6fd4c07
fix url by providin a last & (#1550)
* fix url by prvidin a last &
everything after the last & will be stripped away
-> hence we loose the last param (usually confined to room...)
-> going home kills the all the params which we need to fix!

---------

Signed-off-by: Timo K <toger5@hotmail.de>
2023-09-20 14:08:31 +02:00
David Baker
a115f0530f Better error for browsers that don't support e2ee 2023-09-20 13:05:11 +01:00
David Baker
d4b67015b8 Fix layout toggle on safari 2023-09-20 10:22:48 +01:00
David Baker
0128fece80
Merge pull request #1533 from vector-im/dbkr/include_room_name
Include the room name in the generated URL
2023-09-20 08:40:15 +01:00
David Baker
01ec38493a Be consistent with imports 2023-09-19 22:04:37 +01:00
David Baker
fe9ea31149 Fix a type
This was cast because of a minor optional mismatch
2023-09-19 19:23:19 +01:00
David Baker
1ebf1bd4e6 Merge remote-tracking branch 'origin/livekit' into dbkr/include_room_name 2023-09-19 18:56:04 +01:00
David Baker
83fdb094d5 Factor out common function to generate the URLs 2023-09-19 18:55:33 +01:00
David Baker
2df95c4fe9
Merge pull request #1530 from vector-im/dbkr/no_auto_create
Don't auto create calls from visiting the URL
2023-09-19 18:47:43 +01:00
David Baker
aab27ae616 Wrong mouse event 2023-09-19 18:36:51 +01:00
David Baker
f33170f5f4 Don't reload the page 2023-09-19 18:29:09 +01:00
David Baker
a268a804bb Use compound components 2023-09-19 18:27:53 +01:00
David Baker
53e3cbcf61
Don't include the brand name
Co-authored-by: Robin <robin@robin.town>
2023-09-19 18:26:08 +01:00
David Baker
2753f04f0b Include the room name in the generated URL 2023-09-19 18:23:44 +01:00
David Baker
79d46621fa Well, half of the line changes were correct. 2023-09-19 18:00:09 +01:00
David Baker
24ffb6547c Don't auto create calls from visiting the URL
This didn't work with e2e calls and just ended up with everyone who
went to the URL creating their own room because it didn't add the
alias to any of them.

This has it show a very simple 404-esque screen instead. If the call
already exists, it will show it as before, so existing URLs will
continue to work.
2023-09-19 17:57:16 +01:00
David Baker
6581d64618 Use the room ID as the react key
room alias doesn't work now some rooms don't have aliases.
2023-09-19 17:42:17 +01:00
Robin
141f5cdeea
Merge pull request #1522 from robintown/settings-cutoff
Fix dropdowns in settings still being cut off on mobile
2023-09-19 11:25:08 -04:00
Robin
f66b5ce2e8
Merge pull request #1513 from robintown/layout-toggle-safari
Fix layout toggle looking broken on Safari (I hope)
2023-09-19 11:15:38 -04:00
Robin
42e898b65e Fix dropdowns in settings still being cut off on mobile 2023-09-19 10:21:11 -04:00
Timo
9f832127b2
Fix comments (workaround gh weirdness) (#1518)
Signed-off-by: Timo K <toger5@hotmail.de>
2023-09-19 16:17:08 +02:00
Timo
4aec5c34f3
Firefox audio output issues fix (#1510)
---------

Signed-off-by: Timo K <toger5@hotmail.de>
2023-09-19 15:10:14 +02:00
Robin
7f8a434135 Fix layout toggle looking broken on Safari (I hope)
I don't have a Safari to test with, but according to https://moderncss.dev/pure-css-custom-styled-radio-buttons/, this should do the trick.
2023-09-19 07:54:13 -04:00
Robin
6a12a10cb5
Merge pull request #1497 from robintown/is-embedded
Untangle the semantics of isEmbedded
2023-09-19 07:15:07 -04:00
Robin
889e3842ee
Merge pull request #1493 from robintown/touchscreen-detection
Make touchscreen detection more robust
2023-09-19 07:14:58 -04:00
Robin
cc1f14bef3 Use explicit boolean flags 2023-09-19 07:12:27 -04:00
Robin
63f4086f98 Handle all URL param flags the same way 2023-09-19 07:11:39 -04:00
Robin
d1c9c4b331 Add comment 2023-09-19 07:04:43 -04:00
Robin
9f893e5373 Format code 2023-09-18 21:05:01 -04:00
Robin
4253963b95 Untangle the semantics of isEmbedded
This deletes the isEmbedded flag from UrlParams, replacing it with an alternative set of flags that I think is more sensible and well-defined.
2023-09-18 21:00:18 -04:00
Robin
b3ef5ac929 Make touchscreen detection more robust
Empirically, Chrome on Android can end up not matching (hover: none), but still matching (pointer: coarse). 😕
2023-09-18 19:24:22 -04:00
Robin
0b6b077506
Merge pull request #1478 from robintown/drawer-radius
Tweak drawer appearance to better match native system components
2023-09-18 18:31:51 -04:00
Robin
38ad42a0d8
Merge pull request #1485 from robintown/lobby-updates
Implement new lobby design
2023-09-18 18:31:35 -04:00
Robin
fe8ca9df9d
Merge pull request #1489 from robintown/settings-cut-off
Fix dropdowns in settings being cut off
2023-09-18 18:27:09 -04:00
Robin
00f587898d
Merge pull request #1486 from robintown/page-overflow
Fix home page overflowing by a few pixels
2023-09-18 18:26:58 -04:00
Robin
5f87d8d16c
Merge pull request #1482 from robintown/no-autojoin
Remove auto-join behavior from embedded mode
2023-09-18 18:03:04 -04:00
Robin
89fcfb7062
Merge pull request #1481 from robintown/fix-app-selection
Fix app selection prompt appearing even in the app
2023-09-18 17:57:20 -04:00
Robin
497c106c9f Fix dropdowns in settings being cut off 2023-09-18 17:34:24 -04:00
Robin
c1f1cb94fd Fix home page overflowing by a few pixels
Because the height of our header component changed at some point, the hard-coded height values in the CSS were off by a few px and caused the page to overflow slightly.
2023-09-18 16:49:55 -04:00
Robin
771ab41833 Implement new lobby design 2023-09-18 15:58:36 -04:00
Robin
6bdb4b69ee Remove auto-join behavior from embedded mode
This was a hack that we did back when we were working on PTT, to make the joining process for PTT more seamless, but it doesn't make much sense to auto-join normal calls without giving the user a chance to turn off / adjust their media. If we want this behavior back eventually, I think it would be better serviced by a separate URL parameter.
2023-09-18 13:05:25 -04:00
Robin
6801c95e6a Fix app selection prompt appearing even in the app
Turns out, I just got the name of this URL parameter wrong
2023-09-18 13:03:33 -04:00
David Baker
6561c0a898 Merge remote-tracking branch 'origin/livekit' into dbkr/refactor_urlparams 2023-09-18 17:54:49 +01:00
David Baker
4f48751aa2 Small refactor of URLParams stuff
Splits out the room locartion parsing from everything else to avoid
one function that fills out different parts of its return struct
depending on its args.
2023-09-18 17:49:10 +01:00
Robin
40ef872658 Tweak drawer appearance to better match native system components 2023-09-18 12:17:31 -04:00
Robin
8eb789d6aa Merge branch 'livekit' into remove-walkie-talkie 2023-09-18 11:58:45 -04:00
Robin
1ecc8e3b22 Fix bad import 2023-09-18 11:56:24 -04:00
Robin
4d5b13824f
Merge pull request #1448 from robintown/app-selection
Add a prompt to launch Element X on mobile
2023-09-18 11:54:31 -04:00
Robin
48c563d31f
Merge pull request #1470 from robintown/feedback-layout
Fix the feedback screen looking broken on mobile
2023-09-18 11:54:25 -04:00
Robin
1e2b2c6ef9
Merge pull request #1472 from robintown/invert-buttons
Invert the microphone and video button states
2023-09-18 11:53:18 -04:00
Robin
cfd61282cc Merge branch 'livekit' into remove-walkie-talkie 2023-09-18 11:52:52 -04:00
Robin
b53868cbc9 Merge branch 'livekit' into app-selection 2023-09-18 11:50:32 -04:00
Robin
662a85c16a Add a clarifying comment 2023-09-18 11:46:16 -04:00
Robin
aaf4d20e7d Merge branch 'livekit' into use-modals 2023-09-18 11:40:10 -04:00
Robin
08be4550d5
Merge pull request #1446 from robintown/modals
Implement the new modal designs
2023-09-18 11:38:03 -04:00
Robin
bfefcce466
Merge pull request #1445 from robintown/native-fonts
Use native system fonts on Android and iOS
2023-09-18 11:37:45 -04:00
Robin
282c345ad3 Invert the microphone and video button states
… so that they use the 'on' state when muted, and announce the action that they take rather than the current state, as suggested in internal design guidance.
2023-09-18 11:21:56 -04:00
Robin
1e9e096356 Fully remove walkie-talkie mode 2023-09-18 11:06:06 -04:00
Robin
db0d3b1ee9 Fix the feedback screen looking broken on mobile 2023-09-18 10:42:07 -04:00
Robin
bbf91ca867 Add a clarifying comment 2023-09-18 09:48:02 -04:00
Robin
d9ac072663
Update comment
Co-authored-by: Timo <16718859+toger5@users.noreply.github.com>
2023-09-18 09:14:46 -04:00
Timo
b979fc85bb
Check for existing track before creating one. (#1459)
Signed-off-by: Timo K <toger5@hotmail.de>
2023-09-18 12:43:03 +02:00
Robin
0f97d655d2 Add a prompt to launch Element X on mobile
This shows a bottom sheet on mobile asking the user whether they want to open the call in Element X, as soon as the page is loaded.
2023-09-17 17:48:03 -04:00
Robin
9db21e024e Start using the new modal component
This attempts to converge all our modals on the new modal component while changing their designs as little as possible. This should reduce the bundle size a bit and make the app generally feel like it's converging on the new designs, even though individual modals still remain to be revamped.
2023-09-17 14:46:36 -04:00
Robin
f609ec3f4c Implement new modal designs
They aren't yet used anywhere, but this will let us move on to implementing specific modal interactions from the new designs.

I made the design decision of making this new Modal component always be controlled by an explicit open state, which was inspired by some work I did with Jetpack Compose recently, where I saw that this makes state management and the behavior of components so much more obvious.
2023-09-17 14:40:14 -04:00
Robin
9736f0244b Use native system fonts on Android and iOS
This behavior is called for in the new designs, but Compound Web doesn't (yet) implement it by default.
2023-09-17 12:56:13 -04:00
Robin
2bb2107ead Merge branch 'livekit' into SimonBrandner/feat/gradient 2023-09-15 17:19:37 -04:00
Robin
224bfe58d1
Apply graphic positioning suggestion 2023-09-15 17:17:57 -04:00
Robin
1dd19a78ac
Merge pull request #1443 from vector-im/dbkr/publish_audio_at_start
Always publish microphone track when joining
2023-09-15 17:17:13 -04:00
Robin
564af13b59
Merge pull request #1410 from vector-im/dbkr/smooth_focus_switch
Smooth Focus Switching
2023-09-15 17:06:22 -04:00
Robin
27616c7227
Merge pull request #1436 from robintown/video-tile-1
First pass at the new video tile designs
2023-09-14 11:32:36 -04:00
Robin
915fb63356 First pass at the new video tile designs
Here, I've begun updating the styles of video tiles to match the new designs. Not yet updated: the local volume option is supposed to go inside an overflow menu now, but I haven't gotten to that yet.

To make the outlines on hovered / speaking tiles show up properly, I have to remove the usePageFocusStyle hack, which was preventing CSS outlines from being used for anything other than focus rings. I honestly can't tell what problem it was solving in the first place: focus rings still appear to behave as expected throughout the application.
2023-09-13 16:19:29 -04:00
Robin
21c234ebee Add accessible label to the in-call logo mark 2023-09-13 16:18:29 -04:00
Šimon Brandner
dd49bd517c
Add background gradient
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-09-13 17:53:12 +02:00
David Baker
a02261561c Add comment 2023-09-13 15:03:54 +01:00
David Baker
5570e3f806
More obvious syntax
Co-authored-by: Timo <16718859+toger5@users.noreply.github.com>
2023-09-13 14:32:21 +01:00
David Baker
c5118f38c5 Merge remote-tracking branch 'origin/livekit' into dbkr/smooth_focus_switch 2023-09-12 16:35:51 +01:00
David Baker
9efb15941c
Merge pull request #1348 from vector-im/dbkr/matrixrtcsession
Switch to the MatrixRTCSession layer in js-sdk
2023-09-12 16:33:02 +01:00
Timo
0a009a7b1c
disable turn servers in widget mode (#1396)
Signed-off-by: Timo K <toger5@hotmail.de>
2023-09-12 13:51:06 +02:00
David Baker
1fb210c5cc Merge remote-tracking branch 'origin/livekit' into dbkr/matrixrtcsession 2023-09-12 11:30:46 +01:00
Robin
26ad532532 Merge branch 'livekit' into button-accessibility 2023-09-11 11:22:10 -04:00
Robin
6c25a25f8b Make the focus ring on Compound Web buttons consistent 2023-09-11 11:07:10 -04:00
Robin
8720ccada6 Count participants in a more sensible way 2023-09-11 10:32:03 -04:00
Robin
a9585b1fcf Merge branch 'livekit' into header-footer 2023-09-11 10:29:19 -04:00
David Baker
9d9765f668 Merge remote-tracking branch 'origin/livekit' into dbkr/matrixrtcsession 2023-09-11 09:58:03 +01:00
Šimon Brandner
013e3296fe
Merge pull request #1387 from vector-im/SimonBrandner/task/avatar 2023-09-10 11:52:07 +02:00
Šimon Brandner
7fc0de573b
Remove leftover
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-09-10 11:50:09 +02:00
Robin
1445c42cc3 Implement new in-call header and footer designs 2023-09-08 16:41:23 -04:00
Robin
3545a8152a Improve accessibility of buttons
I noticed that none of these buttons had accessible labels, which is obviously no good since they rely on icons alone to convey purpose when not focused.
2023-09-08 15:39:49 -04:00
David Baker
2c1692bd4f Always publish microphone track when joining 2023-09-08 17:22:02 +01:00
David Baker
7b14d9dacb Merge remote-tracking branch 'origin/livekit' into dbkr/matrixrtcsession 2023-09-07 14:09:52 +01:00
David Baker
38bb2895db
Tidier syntax
Co-authored-by: Robin <robin@robin.town>
2023-09-07 13:16:40 +01:00
David Baker
00f14c9814 Fix the mute icon being incorrect when using PTT
We were manipulating the participant's mute state directly for some
reason, just for setting the mute state directly, which bypased the
mutestates hook.
2023-09-06 11:45:01 +01:00
David Baker
8f570b7893 Include the colon in the user ID in the numebr of parts we check for 2023-09-06 09:12:04 +01:00
David Baker
83fd9a49ab Merge remote-tracking branch 'origin/livekit' into dbkr/matrixrtcsession 2023-09-06 09:01:58 +01:00
Šimon Brandner
1cb0ad2f65
Switch to Avatar from Compound
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-09-06 08:04:51 +02:00
David Baker
3e72604391 Remove unintentional change 2023-09-05 17:38:43 +01:00
David Baker
973d396249 Remove extra device request on the video preview page
As per comment, livekit mutates the object that's passed in, so
we ended up re-requesting the devices in the next render because we
effectively passed in different options.
2023-09-05 17:34:55 +01:00
Šimon Brandner
40283ab760
Remove unused Facepile
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2023-09-04 20:03:25 +02:00
David Baker
c0443288c5 Smooth Focus Switching
For a few seconds after a focusn switch, keep old tiles from the previous
focus so that it doesn't look like everyone leaves & comes back.

Based on https://github.com/vector-im/element-call/pull/1348
Requires https://github.com/livekit/components-js/pull/620
2023-09-04 12:46:06 +01:00
Robin Townsend
8e090af370 Merge branch 'livekit' into in-call-footer 2023-09-01 13:13:02 -04:00
David Baker
dd9397d921 Merge remote-tracking branch 'origin/livekit' into dbkr/matrixrtcsession 2023-08-31 14:38:05 +01:00
David Baker
0535a35a1c Remove unused memberships prop 2023-08-31 14:36:54 +01:00
Robin
7f5e02852c
Merge pull request #1380 from vector-im/renovate/classnames-2.x-lockfile
Update dependency classnames to v2.3.2
2023-08-31 09:33:22 -04:00
Robin
2d5ea82ecf Fix types 2023-08-31 09:27:06 -04:00
Robin
a35f1cb23f
Merge pull request #1369 from robintown/copy-icon-color
Use a more suitable color for copy buttons
2023-08-31 07:55:35 -04:00
Robin
3494f0fb4d
Merge branch 'livekit' into in-call-footer 2023-08-31 07:53:14 -04:00
David Baker
9d6d5a16e7 Merge remote-tracking branch 'origin/livekit' into dbkr/matrixrtcsession 2023-08-31 10:48:54 +01:00
Šimon Brandner
c7c6e2c007
Merge pull request #1358 from vector-im/SimonBrandner/feat/e2ee-on 2023-08-31 11:32:27 +02:00
David Baker
b256755a0d Don't treat empty object as a valid sfu config
This was causing an extra reconnect cycle when the call was first
joined because it thought the previous SFU config was valid. This was
probably causing some client to fail to connect at all.
2023-08-31 09:44:23 +01:00
Robin Townsend
63ccd56573 Implement new designs for in-call footer buttons
This basically amounts to swapping out some CSS, the icons, and the Tooltip component.
2023-08-30 22:04:20 -04:00
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