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
3a7983d2de
Add displayname on call spans
2023-04-03 14:31:17 +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
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
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
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
David Baker
4f8bd18efd
Don't try to register users until client is loaded
2023-01-20 17:59:57 +00:00
David Baker
785fa51e0c
Use merged js-sdk commit
2023-01-20 13:12:03 +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
David Baker
e1c4042d15
Add units to constant
2023-01-17 10:16:55 +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
6168109894
Use merged js-sdk commit
2023-01-13 21:41:21 +00:00
David Baker
a2a1a9032a
Use js-sdk from branch
2023-01-13 18:33:58 +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
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
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
d9b0e08ea2
Fix caching headers on Docker image
2023-01-12 16:20:37 +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
David Baker
30688715cd
Revert f20fc78bd7
2023-01-12 13:20:11 +00:00
David Baker
f20fc78bd7
Use branch of js-sdk with Olm debugging
...
Pulls in changes from https://github.com/matrix-org/matrix-js-sdk/pull/3055
Not intended to stay long-term.
2023-01-12 11:28:15 +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
David Baker
d1091eda17
Add conditional on head_repo on Netlify main GHA job
...
As per comment
2022-12-22 20:22:54 +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
f35b50d89f
Remove Olm from devDependencies
...
It was in devDependencies as well as dependencies for some reason
2022-12-21 18:49:49 +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
089234ae09
Use config from the branch we built on PR previews
...
No harm in doing this - just as easy to override config in the code
itself.
2022-12-21 15:11:24 +00:00
David Baker
6bc5b16b02
These appear to be important?
2022-12-21 13:09:41 +00:00
David Baker
f67eb328bf
Add permissions, fix artifact name, filter branches
2022-12-21 12:36:00 +00:00
David Baker
1c824da32b
Add config & redirects files
2022-12-21 12:08:08 +00:00
David Baker
1442e57a23
Prettify workflow file
2022-12-21 12:01:06 +00:00
David Baker
39e92b9e2e
Add deploy previews
...
Using workflow from element-web
2022-12-21 11:57:15 +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
b94562d43b
Indent config sample properly
2022-12-20 18:26:10 +00:00
David Baker
19e478f2a9
Make sample config just have the HS config
...
The other options are things people usually won't need or want to
set, so just keep it to the basics.
* Rename config sample to match element-web
* Update / simplify build instructions
* Rename nginx config file to differentiate it from EC config
2022-12-20 18:13:08 +00:00
David Baker
d6b8ecdfd1
Remove default HS env var from build
2022-12-20 17:42:20 +00:00
David Baker
47ade7ee3c
Add default HS for CD deployment
2022-12-20 17:37:07 +00:00
David Baker
23387ee75f
Fix syntax
2022-12-20 17:32:04 +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
824ed06f36
Fix docker build
...
Remove the element-call directory level which isn't necessary any
more (accidentally removed the `cd element-call` in #794 ).
2022-12-20 11:44:27 +00:00