Juliusz Chroboczek
8dc2924369
Disable background blur on Safari.
2024-12-15 16:28:10 +01:00
Juliusz Chroboczek
f81094abda
Call addFilters asynchronously.
...
Since we now make HTTP requests from addFilter, this makes
startup slightly faster.
2024-12-15 15:30:22 +01:00
Juliusz Chroboczek
084cd3da1f
Don't fail findUpMedia when serverConnection is null.
...
This avoids throwing if the user changes their setting before
login. Thanks to Jean-Jacques Sarton.
2024-12-15 14:16:48 +01:00
Juliusz Chroboczek
0a14b78d67
Move MediaPipe initialisation to filter init.
...
We used to initialise MediaPipe at worker start, which prevented
us from handling errors. We now do it at filter init, and stop
the stream with an error message if initialisation fails.
2024-12-14 14:53:23 +01:00
Juliusz Chroboczek
3fbe274785
Handle errors in filter init.
...
We used to ignore errors in filter init, which could cause us
to send unblurred videos to the server.
2024-12-14 13:31:56 +01:00
Juliusz Chroboczek
2c72a27453
Improve background blur blending.
...
We used blur the image then mask, which caused a halo around
the foreground. We now mask then blur.
2024-12-14 02:25:04 +01:00
Juliusz Chroboczek
a38676c9f6
Replace var with let.
2024-12-13 18:08:56 +01:00
Juliusz Chroboczek
39c063a9d5
Use ImageBitmap.close when no longer needed.
...
This should free the underlying textures without waiting
for a GC to happen.
2024-12-13 15:54:52 +01:00
Juliusz Chroboczek
5bb54803dc
Make background blur optional.
2024-12-13 11:27:16 +01:00
Juliusz Chroboczek
a00b77fc8f
Add predicate support to filters.
2024-12-13 11:27:16 +01:00
Juliusz Chroboczek
a70a9a13ed
Implement background blur.
2024-12-13 11:27:16 +01:00
Juliusz Chroboczek
38807d5f6b
Make filters run asynchronously.
...
Drop a frame if a filter takes too long to run.
2024-12-12 15:42:05 +01:00
jjsa
c040dd2a1d
Toastify style moved to galene.css
2024-12-02 15:28:19 +01:00
Juliusz Chroboczek
9eb7428b98
Simplify interface to video filters.
...
Remove support for WebGL contexts, use concrete types.
2024-11-17 15:55:58 +01:00
Juliusz Chroboczek
b54119d508
Split out startup from Filter prototype.
2024-11-17 15:29:23 +01:00
Juliusz Chroboczek
a9e269e979
Implement caption support in the client.
2024-11-08 14:51:48 +01:00
Juliusz Chroboczek
123d51e011
Implement selective clearchat.
2024-08-17 16:56:06 +02:00
Juliusz Chroboczek
eb72069c9b
Add id to chat messages.
2024-08-17 16:56:06 +02:00
Juliusz Chroboczek
8fe2e9ca5f
Force a user interaction before token login.
...
This avoids issues with autoplay being disabled.
2024-06-11 11:59:51 +02:00
Juliusz Chroboczek
7151fad149
Simplify the initial connection protocol.
...
The ServerConnection.connect method is no longer async,
we rely on the onconnected callback only. The onconnected
callback is now only called after the initial handshake
completes. There is a new onerror callback.
2024-06-10 21:12:47 +02:00
Juliusz Chroboczek
58934a1a46
Call reflectSettings synchronously.
...
We could previously attempt to display a remote stream before
reflectSetting initialised the settings.
2024-06-10 16:08:36 +02:00
Juliusz Chroboczek
6a55139c94
Fix typo in ondowntrack callback.
...
Fortunately we're not using the mistyped arguments.
2024-06-10 15:38:44 +02:00
Juliusz Chroboczek
b925bae5de
Assume browsers support showModal.
2024-05-08 17:19:41 +02:00
Juliusz Chroboczek
1315084185
Implement message permission and shutup command.
2024-05-08 16:24:32 +02:00
Juliusz Chroboczek
e59880e267
Implement /stopshare.
2024-05-08 15:14:45 +02:00
Juliusz Chroboczek
e68ff86287
Implement contextual menu for chat entries.
...
Double-click, because otherwise it interferes with selection.
2024-05-02 00:39:44 +02:00
Juliusz Chroboczek
a76f225bc0
Implement command /identify.
2024-05-01 23:38:31 +02:00
Juliusz Chroboczek
10cab468a8
Add link for changing password.
2024-04-11 14:30:44 +02:00
Juliusz Chroboczek
5fe578dcf5
Allow tokens with small expiration times.
...
There was a typo that prevented tokens with less than two days
validity.
2024-03-03 13:29:44 +01:00
Juliusz Chroboczek
3ad6f27b17
Move .status.json to .status.
...
Keep a redirect for backwards compatibility.
2024-01-18 00:39:32 +01:00
Juliusz Chroboczek
0fc9136774
Allow HTML elements in addToChatbox.
2023-12-08 23:41:51 +01:00
Juliusz Chroboczek
96e2db0347
Protect against undefined navigator.mediaDevices.
...
This may happen if we're running over plain HTTP.
Thanks to kovmir.
2023-12-08 18:52:06 +01:00
Juliusz Chroboczek
c0214c3350
Fix typo in comment.
2023-12-08 18:39:08 +01:00
Juliusz Chroboczek
2ad6fc5b6e
Constrain video aspect ratio rather than resolution.
2023-11-04 23:56:47 +01:00
Juliusz Chroboczek
ff28e33d74
Set default resolution to 640x400.
...
We used to accept the browser's default, which varied widely
between devices.
2023-11-04 22:58:15 +01:00
Jackson Vieira
1ad91adf89
Fix audio activity detection for downstreams
...
Replaced the non-existent `track` property in `RTCStatsType`
with the valid `inbound-rtp` property.
2023-08-28 22:47:46 +02:00
Juliusz Chroboczek
a701d8c6fa
Remove client-side support for protocol version 1.
2023-07-16 15:54:58 +02:00
Juliusz Chroboczek
a845e9f722
Special-case screenshare in setSendParameters.
...
This avoids restarting the stream when changing simulcast
settings.
2023-07-14 23:59:06 +02:00
Juliusz Chroboczek
bb0a01895e
Disable simulcast on Firefox by default.
...
Simulcast interacts strangely with VP9.
2023-07-09 17:34:28 +02:00
Juliusz Chroboczek
1afb3c85b0
Open microphone early on Safari.
...
Safari forbids autoplay and omits host candidates unless the microphone
is open.
2023-07-05 23:41:59 +02:00
Juliusz Chroboczek
2c852206bd
Add dialog for generating tokens.
2023-05-03 23:30:48 +02:00
Juliusz Chroboczek
1afd995844
Improve token formatting.
2023-05-03 22:55:27 +02:00
Juliusz Chroboczek
cfb5d936ee
Improve interface to makeToken.
...
It now takes a template that allows setting all options.
2023-05-03 18:48:35 +02:00
Juliusz Chroboczek
7f93aa5dc8
Simpler Firefox workaround in addUpTrack.
...
Rather than trying to determine whether the workaround is needed,
we now perform it unconditionally, and ignore the resulting exception
on non-broken browsers.
2023-04-13 22:26:41 +02:00
Juliusz Chroboczek
3ea4b8a32a
Remove Firefox workaround from setUpStream.
...
This is no longer needed since version 110.
2023-04-13 16:37:26 +02:00
Alexandre Iooss
49db9f94d5
Autofocus username input on login page
2023-04-08 21:21:29 +02:00
Juliusz Chroboczek
8775ce6406
Keep track of issuer and creation date in tokens.
2023-04-08 21:13:35 +02:00
Juliusz Chroboczek
adf273f9ea
Expire expired tokens.
...
We now remove a token a week after it has expired.
2023-04-04 01:22:05 +02:00
Juliusz Chroboczek
e93642f9db
Add menu entry for inviting, use native dialog on mobile.
2023-04-04 01:22:05 +02:00
Juliusz Chroboczek
ac1dc77b30
Reconnect when server complains about a username.
...
If a token does not specify a username, the server will request
one by failing the join message. Disconnect from the WebSocket
in that case, and display the login dialog with the password
field invisible.
2023-04-04 01:22:05 +02:00