David Baker
41371de506
New livekit service URL
2023-07-05 13:33:33 +01:00
David Baker
c73c4d171d
Fix netlify deployment
...
Turns out the create deployment stateb really needs the env,
even though it's empty.
2023-07-05 13:22:57 +01:00
David Baker
fe96c4a455
Update the livekit branch name in more places
...
Fixes the CI to get the config from the right place.
Also removes reference to an env that's already been deleted.
2023-07-04 20:25:51 +01:00
David Baker
be89fb7dd9
Revert changes to auth server code
2023-07-04 19:01:11 +01:00
David Baker
6ca5b46df7
Update config to deployed lk jwt service
2023-07-03 21:43:11 +01: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
David Baker
9e95e8b5a7
User ID field no longer neccessary
2023-07-03 13:00:25 +01: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
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
David Baker
2caaa15520
Fix username / displayname naming confusion
2023-06-27 12:23:19 +01:00
David Baker
d57bb5bb76
Fix branch names in CI
2023-06-26 13:37:31 +01:00
David Baker
aed1548929
Port netlifgy-livekit workflow over to livekit branch
...
Now livekit is the new default branch
2023-06-26 13:21:08 +01: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
David Baker
403ee79d61
Include org.matrix.call events in sent events for OTel
2023-04-27 18:01:40 +01:00
David Baker
ecc3693c47
Remove accidental log line
2023-04-25 10:32:36 +01:00
David Baker
7153ead8cb
Remove the console exporter
...
I'm not sure how this got left in, presumably it was not intended.
2023-04-24 19:52:56 +01:00
David Baker
32476571fb
End spans when calls are replaced by a different call
2023-04-24 17:57:05 +01:00
David Baker
4459eaeb9d
Fix audio mute on window blur
...
https://github.com/vector-im/element-call/pull/1015/files missed a
change of spacebarHeld to a ref.
2023-04-21 10:18:43 +01:00
David Baker
f5e2161a9e
Add the event name to the rageshake span processor export
2023-04-20 17:18:06 +01:00
David Baker
d1aa34b2e0
Use the native ResizeObserver where available
...
My dev env suddenly, with no apparent prompt, went into a mode where
it wouldn't display nay video tiles which was because they were 0x0
in the top left corner, which in turn was because the ResizeObserver
was never returning the actual bounds of the video tile container.
As per comment, this uses the native impl in preference to the ponyfill,
although in practice it looks like all our target browsers should support
it, so perhaps we could just remove the ponyfill entirely.
2023-04-20 13:39:25 +01:00
David Baker
1dd70ea22d
Add .gz extension to to traces.json
...
As we are sending a gzipped file. We could make the rageshake server
look for this and gunzip it, but either way this seems like as good a
way as any to signal that the file is gzipped.
2023-04-20 09:55:57 +01:00
David Baker
0de1aa74ee
Use microseconds in the rageshake exporter
...
Fixes times being off by a factor of 1000
2023-04-18 12:48:34 +01:00
David Baker
9442b314b2
Fix PostHog in embedded mode
...
Embedded mode has a differtent path to join the call and we missed
changing the groupCall.enter() function for the wrapper that does
analytics.
2023-04-17 18:47:46 +01:00
David Baker
2b71a6c4f4
Add tiny release notes script
2023-04-06 11:12:13 +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
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
2435846f66
Latest js-sdk develop (with required PR merged)
2023-04-05 10:00:16 +01:00
David Baker
23ddd73f4f
Merge remote-tracking branch 'origin/main' into dbkr/otel_peerconn_events
2023-04-05 09:35:43 +01: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
5b70def4d2
Add null check for call span
2023-04-04 17:49:49 +01: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
David Baker
cb0ba6d827
Add missed 'r'
2023-03-31 14:30:24 +01:00
David Baker
e18c69ec89
Use latest js-sdk develop
2023-03-31 14:29:07 +01:00
David Baker
47e0ca2eda
Put cors header back to https for now
...
To remove that change for the diff
2023-03-31 14:27:50 +01: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
773f2e009d
Typo
2023-03-31 10:58:12 +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
72403d1aea
Revert 74b218af8c
...
Comitted entirely the wrong thing
2023-03-31 10:26:33 +01:00
David Baker
74b218af8c
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.
2023-03-30 17:19:13 +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
848e28ef92
Change allowed origin to https://* as that allows the PR branches out-of-the-box
2023-03-29 15:53:29 +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
David Baker
15e4c01c5d
Add max old space fix to publish workflow too
2023-03-28 15:47:59 +01:00
David Baker
d53be695f9
Work around Vite unbounded memory usage
...
Port fix from otel branch where it appears to be working
2023-03-28 15:33:11 +01:00
David Baker
247d15cbb5
Update js-sdk
...
for https://github.com/matrix-org/matrix-js-sdk/commit/da03c3b529576a8fcde6f2c9a171fa6cca012830
2023-03-28 15:24:33 +01:00
David Baker
40f5c53c05
Put CORS header back to http://* with comment on why browsers are annoying
2023-03-24 09:31:52 +00:00
David Baker
d1ba5dff38
Allow all origins
2023-03-23 14:37:25 +00:00
David Baker
48493a96e1
Wait until config is loaded to load otel
2023-03-22 12:41:33 +00:00
David Baker
ec88907981
Comment the max old space workaround which seems to be working (so far)
2023-03-22 12:04:15 +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
6696af9b3f
Experiment to try & stop vite OOMing
2023-03-20 19:29:19 +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
ef9934ce6b
Commit nginx config file
2023-03-20 13:53:07 +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
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
22d2404370
Prettier
2023-03-15 16:04:15 +00:00
David Baker
c519e13885
Version that does at least send some traces
2023-03-15 16:00:39 +00:00
David Baker
1e2cd97764
Include the arguably-obvious command line
2023-03-15 14:38:17 +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
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
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
David Baker
1c7c3e2beb
Upgrade js-sdk for https://github.com/matrix-org/matrix-js-sdk/pull/3144
2023-02-10 19:15:28 +01:00
David Baker
3bd47a1347
Merge remote-tracking branch 'origin/feature_sfu' into dbkr/update_js_sdk_screenshare_workaround
2023-02-02 14:43:38 +00:00
David Baker
8ffdf34b0a
Merge remote-tracking branch 'origin/main' into feature_sfu
2023-02-02 14:42:38 +00:00
David Baker
b9589d6d2f
Merge branch 'feature_sfu' into dbkr/update_js_sdk_screenshare_workaround
2023-02-02 13:49:51 +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
David Baker
ff6a9840b7
Update js-sdk for screenshare workaround
2023-02-02 12:00:44 +00:00
David Baker
b7ac131614
Add posthog to PR preview builds
2023-01-26 14:59:54 +00: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