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
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
f9845617b3
Merge pull request #783 from robintown/font-params
...
Add URL params to control fonts
2022-12-10 18:55:35 -05:00
Robin Townsend
32168fb467
Update the leave icon
2022-12-09 14:41:43 -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
0a38395bdc
Subtly animate video tile toolbars
2022-12-02 12:44:31 -05: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
aa828fe9f5
Merge pull request #761 from robintown/update-js-sdk
...
Enable users to join calls from multiple devices
2022-11-28 16:37:15 -05:00
Robin Townsend
5ba7267164
Fix lints
2022-11-28 16:15:47 -05:00
David Baker
9c08a69226
Add import
...
And also Prettier says hi apparently
2022-11-23 10:11:55 +00:00
David Baker
40a0958e0d
Use useCallback
...
Co-authored-by: Robin <robin@robin.town>
2022-11-23 10:06:14 +00:00
David Baker
098be75415
Fix click leaking through to DOM element underneath
...
See comment, although this is quite hack - I'm torn on whether this
is worth it for the bugfix. Upgrading react-aria doesn't fix it either
(and also breaks everything in React strict mode).
Fixes https://github.com/vector-im/element-call/issues/762
2022-11-22 19:01:50 +00:00
Robin Townsend
13def24f7e
Enable users to join calls from multiple devices
2022-11-21 12:39:48 -05:00
David Baker
eab8b1d095
Put rageshake request ID in title of debug log submission
2022-11-17 16:06:41 +00: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
93aafb1415
Remove mystery blank line
...
Co-authored-by: Robin <robin@robin.town>
2022-11-16 16:39:35 +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
a2bbe61292
Update help text
2022-11-14 20:58:39 +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
4cd49dee4b
Update description
2022-11-14 16:11:42 +00:00
Erik Johnston
0aadb7e60c
Add a straw man description to the setting
2022-11-14 11:29:42 +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
Robin
6ef41b924d
Merge pull request #743 from robintown/config
...
Improve config documentation and setup
2022-11-11 08:19:40 -05:00
David Baker
24299c09b1
Merge pull request #747 from vector-im/dbkr/create_room_logging
...
Make room / call creation logging more accurate
2022-11-10 21:56:18 +00:00
David Baker
ab860b8655
Use logger
...
Co-authored-by: Robin <robin@robin.town>
2022-11-10 21:43:49 +00:00
David Baker
f69e032a52
Use logger (and fix typo)
...
Co-authored-by: Robin <robin@robin.town>
2022-11-10 21:43:40 +00:00
David Baker
bd08166a50
Make room / call creation logging more accurate
...
It said it was creating the room when actually it was creating the call
2022-11-10 19:10:10 +00:00
Robin Townsend
556f975552
Actually remove Matrix Video Chat branding for real
2022-11-09 17:23:22 -05:00
Robin Townsend
0e478f4c20
Add config documentation, and better types
2022-11-09 10:54:04 -05:00
Robin
57bf934bc2
Merge pull request #736 from robintown/missing-audio-logs
...
Add logs to debug missing spatial audio
2022-11-08 14:53:28 -05:00
Robin Townsend
ca6d75e384
Improve the analytics opt-in copy
2022-11-08 07:53:17 -05:00
David Baker
85b02a3589
Merge pull request #728 from vector-im/dbkr/aria-describedby
...
Add aria-describedby associations
2022-11-07 22:45:37 +00:00
Robin Townsend
5f84cb5790
Fix lint
2022-11-07 14:03:28 -05:00
Robin Townsend
fb75c1536b
Merge branch 'main' into missing-audio-logs
2022-11-07 14:00:22 -05:00
Robin
715bec5949
Merge pull request #737 from robintown/double-audio
...
Disable spatial audio for the maximized speaker
2022-11-07 13:59:07 -05:00
Timo
01244c1873
Posthog load settings on startup ( #734 )
...
Signed-off-by: Timo K <timok@element.io>
Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-11-07 18:00:35 +01:00
Robin Townsend
70344fd40f
Disable spatial audio for the maximized speaker
2022-11-07 11:50:05 -05:00
Robin Townsend
0a5701b9fa
Add logs to debug missing spatial audio
...
And potentially fix it, by recreating the source node when the stream changes.
2022-11-07 11:46:10 -05:00
David Baker
85959046a5
Merge pull request #727 from vector-im/dbkr/fix_join_call_close_button
...
Fix close button on join call modal
2022-11-07 14:07:38 +00:00
David Baker
7444763008
Merge pull request #729 from vector-im/dbkr/minor_a11y_fixes
...
A couple of minor a11y fixes
2022-11-07 14:06:29 +00:00
David Baker
d5a5ce9860
Don't pass potentially undefined 'desc' to useId
...
Also use the useId that comes with React 18.
2022-11-07 14:05:58 +00:00