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
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
Timo
0423a494c4
Checkbox for analytics opt in & settings redesign ( #934 )
2023-03-01 13:47:36 +01: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
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
Abhi Jain
d40e467b7d
changes Loading room... to Loading...
2023-02-08 14:26:56 +05:30
Robin Townsend
6adcf95aaa
Implement different column counts and mobile layout
2023-02-04 00:43:53 -05:00
David Baker
579b91abff
Revert "Yarn upgrade"
2023-02-02 14:32: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
6784d2ba97
Remove redundant key prop
2023-02-01 11:50:25 -05:00
Robin Townsend
0166eb67fb
Make avatars scale smoothly during animations
2023-01-30 23:43:45 -05:00
Robin Townsend
4e73c07cb2
Try out scroll snapping
2023-01-30 09:35:40 -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
524f530dce
Lowercase room alias before joining
2023-01-19 19:20:42 +00:00
Robin Townsend
d3fba7fd5f
WIP minus unfinished split grid layouts
2023-01-18 10:52:12 -05: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
David Baker
a5977fc992
Rename to useCallViewKeyboardShortcuts
2023-01-13 11:52:40 +00:00
David Baker
9ba4ce429f
Disable keyboard shortcuts when feedback modal is open
2023-01-12 17:31:19 +00: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
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
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
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
96de515e56
Move default homeserver to config file
2022-12-20 17:26:45 +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
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
David Baker
c30eb19021
Don't reorder imports
2022-12-16 17:18:52 +00:00
David Baker
2d8c33d66d
Merge remote-tracking branch 'origin/main' into dbkr/spatial_audio_ff_only
2022-12-16 17:17:30 +00:00
David Baker
223793a445
Make spatial audio Firefox-only
...
Hopefully explained in comment: we have a heisenbug where we sometimes
lack audio from a certain participant, so this simplifies the audio
path by removing the workaround required to do AEC with spatial audio
on chrome.
2022-12-16 17:12:17 +00:00
Robin Townsend
102ce87bb0
Hide controls completely in picture-in-picture view
...
This is to prepare for upcoming design changes to the picture-in-picture view in Element Web.
2022-12-13 18:20:30 -05:00
Robin Townsend
acc41c532e
Add URL params to control fonts
...
This was also a good chance to switch to the semantic font size names used in Compound.
2022-12-09 14:31:13 -05:00
Šimon Brandner
6d8ae91b6c
Don't expose calls
on GroupCall
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-12-04 15:50:21 +01:00
Robin Townsend
44e22e2684
Don't start new calls in widget mode
...
In widget mode, it's the client's duty to start the call.
2022-11-29 15:47:39 -05:00
Robin Townsend
13def24f7e
Enable users to join calls from multiple devices
2022-11-21 12:39:48 -05:00
David Baker
b92acd4822
Merge pull request #752 from vector-im/dbkr/waiting_for_media
...
Add a 'waiting for video' state to media tiles
2022-11-16 16:41:27 +00:00
David Baker
734d330a10
CamcelCase for enum values
2022-11-16 10:45:49 +00:00
David Baker
5623fa415f
Also update connection states when participants change
2022-11-15 17:33:58 +00:00
David Baker
f2746ab994
Pass user's connection state for their screenshare feed
2022-11-15 17:19:09 +00:00
David Baker
80f07a5454
Add a 'waiting for video' state to media tiles
...
This will show if the call is waiting for media to connect (in practice
doesn't actually seem to happen all that often) but also show if the
media connection is lost, with the js-sdk change.
Requires https://github.com/matrix-org/matrix-js-sdk/pull/2880
Fixes: https://github.com/vector-im/element-call/issues/669
2022-11-15 16:13:33 +00:00
Erik Johnston
6855e61c47
Correctly handle window losing focus
2022-11-14 20:58:39 +00:00
Erik Johnston
d09c3d8374
Add 'v' shortcut
2022-11-14 16:14:16 +00:00
Erik Johnston
67b97e63ca
Use useEventTarget
2022-11-14 16:12:19 +00:00
Erik Johnston
c67e7ebc2c
Put PTTButton shortcuts behind the new shortcut
2022-11-14 10:40:02 +00:00
Erik Johnston
b30ef953b4
Put keyboard shortcuts behind settings flag
2022-11-14 10:24:03 +00:00
Erik Johnston
c9330debd4
Lint take2?
2022-11-11 16:02:24 +00:00
Erik Johnston
456194312b
Lint
2022-11-11 16:00:32 +00:00
Erik Johnston
cb85733426
Add 'm' and 'space' shortcuts for mute/unmuting during a call
2022-11-11 15:53:58 +00:00
Timo
72503d0335
Add posthog Telemetry (Anonymity Logic + call duration telemetry) ( #658 )
...
Co-authored-by: Timo K <timok@element.io>
Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-11-04 13:07:14 +01:00
Robin Townsend
a47bd13db6
Fix a crash when someone leaves while screensharing
2022-11-03 16:11:57 -04:00
Robin Townsend
2d5f413a1f
Improve the visual experience of joining a call
...
Because useMeasure always returns a width and height of zero on the first render, various call UI elements would flash in and out of existence or animate in from the wrong place when joining a call. This poses an accessibility issue, and is generally unpleasant.
2022-11-02 23:17:36 -04:00
David Baker
2346ad9b7e
Merge pull request #695 from vector-im/dbkr/fix_missing_tile_bug
...
Fix missing tile bug
2022-11-01 18:20:23 +00:00
David Baker
feeb9c4e7c
Fix missing tile bug
...
The 'connecting' tile change meant that we could have tiles right
at the start of the call where we wouldn't have before, and in fact
could have tiles for other users before we even had a tile for ourself.
This threw off the logic for ordering tiles which had a special case
for 1:1 calling which assumed that one of the tiles in a 1:1 call was
the local user. In this case, this assumption wasn't true at the very
start of the call, so the tile orders got assigned incorrectly and then
persisted for the rest of the call.
Fixes https://github.com/vector-im/element-call/issues/694
2022-11-01 18:10:11 +00:00
Robin Townsend
7932d7a471
Disable animations for users that prefer reduced motion
2022-10-31 11:46:17 -04:00
David Baker
b8af9a0733
Merge pull request #648 from vector-im/dbkr/tiles_for_everyone
...
Show tiles for members we're trying to connect to
2022-10-25 12:56:43 +01:00
David Baker
b39b3c072d
Merge pull request #652 from vector-im/dbkr/fixec_screenshare
...
Fix screen sharing
2022-10-24 18:54:52 +01:00
Robin
669b1403fc
Merge pull request #663 from robintown/matryoshka-avatar
...
Fix avatars of remote participants in matryoshka mode
2022-10-24 13:49:32 -04:00
Robin Townsend
efe9e6c2b3
Fix avatars of remote participants in matryoshka mode
...
RoomWidgetClient doesn't do lazy loading, so it only has the state event data to work with and not the lazy loaded user object.
Previously avatars of remote participants were all replaced by fallback avatars.
2022-10-24 13:19:16 -04:00
Robin Townsend
bf94a5dcaf
Make more of the lobby translateable
2022-10-24 10:17:12 -04:00
David Baker
821622f71c
Types
2022-10-21 20:28:33 +01:00
David Baker
71dcc94166
Fix screen sharing
...
* Make the embedded mode screen sharing a request-each-way rather
than request-and-reply, since replies time out and so can't wait
for the user.
* Try normal screen sharing first, then fall back to using the widget
API if it fails (for lack of a good way of detecting when we
should be using the widget API).
Fixes https://github.com/vector-im/element-call/issues/649
2022-10-21 20:19:52 +01:00
David Baker
1ea9432769
Show tiles for members we're trying to connect to
...
This should help give more context on what's going wrong in
splitbrain scenarios.
If users leave calls uncleanly, their tile will remain in until
their member event times out, which will be an hour from when they
joined the call. See https://github.com/vector-im/element-call/issues/639 .
Part of https://github.com/vector-im/element-call/issues/616
2022-10-21 17:24:56 +01:00
Šimon Brandner
4ee6e450b7
Make Element Call screensharing work on desktop
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-10-20 19:07:27 +02:00
Robin Townsend
97ae11f656
Fix fullscreen buttons fullscreening the wrong feed
2022-10-17 12:31:56 -04:00
Robin Townsend
402f62e09a
Consolidate some similar strings
2022-10-14 18:38:33 -04:00
Robin Townsend
684defdc19
Merge branch 'main' into hide-invite
2022-10-14 10:51:41 -04:00
Robin Townsend
5ed2dc6e0e
Split room state hooks out into separate files
2022-10-14 10:50:36 -04:00
Šimon Brandner
ce86a6f120
Merge pull request #622 from vector-im/SimonBrandner/feat/hide-screen
2022-10-14 16:49:54 +02:00
Šimon Brandner
96b1a5f296
hideScreensharing
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-10-14 16:17:50 +02:00
Robin Townsend
02b2aef958
Hide the invite button in non-public rooms
2022-10-14 09:40:21 -04:00
Robin Townsend
81771f511c
Fix types
2022-10-13 21:25:15 -04:00
Robin Townsend
8524b9ecd6
Set up translation with i18next
2022-10-12 14:53:49 -04:00
David Baker
eca598e28f
Merge pull request #609 from vector-im/dbkr/device_by_name
...
Use device labels rather than IDs in widget API
2022-09-30 17:28:59 +01:00
David Baker
77da0c912f
Match device type too
...
Because lots of audio & video inputs have the same name
2022-09-29 17:07:10 +01:00
David Baker
17613837b6
Hold a user media stream open while we get devices
...
As per comment.
2022-09-29 13:19:46 +01:00
David Baker
4a5b69800c
Use device labels rather than IDs in widget API
...
device IDs are different for each origin, so won't match up when passed
in & out of widgets. Use the label instead.
For https://github.com/vector-im/element-web/issues/23331
2022-09-27 16:19:48 +01:00
Robin Townsend
fdc0272940
Show a reduced set of controls when the window is narrow
2022-09-26 20:36:51 -04:00
David Baker
b55aa12100
Merge pull request #602 from vector-im/dbkr/fix_capture_devices_left_on
...
Fix bug causing mic/webcam to remain open after call
2022-09-23 17:09:39 +01:00
David Baker
ded6a80b58
Fix passworldess user prompt screen
...
This is how boolean logic works
2022-09-23 15:38:35 +01:00
David Baker
7435f1101a
Fix bug causing mic/webcam to remain open after call
...
Fixes https://github.com/vector-im/element-call/issues/596
2022-09-23 15:35:05 +01:00
David Baker
d9fc9e82ab
Fix another cause of split-brain rooms
...
Wait for the client to start syncing before we attempt to join a
room.
Fixes https://github.com/vector-im/element-call/issues/600 (detailed
bug analysis is also in that issue).
2022-09-23 10:50:42 +01:00
Robin Townsend
89fa9dfd64
Only maximise a participant when the window is narrow, too
2022-09-16 10:23:23 -04:00
Robin Townsend
9e367db324
Maximise the active speaker when the window is small
2022-09-14 19:05:05 -04:00
Robin Townsend
8725b2c230
Unpersist widget after hanging up
...
Otherwise it can get stuck on screen in Element Web.
2022-09-12 22:54:20 -04:00
Robin Townsend
b7be3011da
Add widget actions for joining and leaving calls and switching layouts
...
These actions are processed lazily to ensure that even if the app takes a while to start up, they won't be missed.
2022-09-09 02:14:12 -04:00
Robin Townsend
3186b5f24b
Add a URL parameter for hiding the room header
2022-09-09 02:04:53 -04:00
David Baker
70dffe95ff
Handle groupcall being null
2022-09-07 11:42:37 +01:00