1
Fork 0
Commit Graph

475 Commits

Author SHA1 Message Date
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 242875e55c Implement a client-side timeout.
We already had a server-side timeout, but it didn't prevent
a client from hanging when it lost connectivity with the server.
2024-06-10 21:33:31 +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 e7af7cbed4 Add receive support to example client. 2024-06-10 15:58:30 +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 45ae8c5339 Minor fixes to example. 2024-06-08 18:30:14 +02:00
Juliusz Chroboczek ac47a82e2f Add minimal client example. 2024-06-08 15:05:00 +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 9f2df6af2a Add wildcard support to management.js. 2024-05-08 15:01:33 +02:00
Juliusz Chroboczek a12331ee09 Use JSON arrays instead of plain text in API.
Suggested by Dianne Skoll.
2024-05-03 18:54:22 +02:00
Juliusz Chroboczek aa35408dba Rename /galene-api/0/ to /v0/. 2024-05-03 18:33:37 +02:00
Juliusz Chroboczek 0090ae71dd Omit trailing slashes in management.js. 2024-05-02 23:07:58 +02:00
Juliusz Chroboczek 8be8e6fec7 Use management stubs in change-password.js. 2024-05-02 18:48:51 +02:00
Juliusz Chroboczek 9e7231ee6e Add JavaScript management stubs. 2024-05-02 18:33:31 +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
Sebastien Binet 0c3616642d static: fixup missing </form>
Signed-off-by: Sebastien Binet <binet@cern.ch>
2024-04-26 19:10:57 +02:00
Juliusz Chroboczek 10cab468a8 Add link for changing password. 2024-04-11 14:30:44 +02:00
Juliusz Chroboczek 39d11c2f48 Implement form for changing passwords. 2024-04-11 13:27:08 +02:00
Juliusz Chroboczek cc38c53075 Implement administrative API. 2024-04-11 13:27:08 +02:00
Juliusz Chroboczek b7094fc373 Beginnings of administrative API.
The "stats.json" file is moved under "galene-api", where the rest
of the API will live.
2024-04-09 22:49:03 +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
Juliusz Chroboczek cc2ed14484 Reset c.sc after calling onclose.
The onclose callback might want to access c.sc.
2023-08-29 01:42:48 +02:00
Juliusz Chroboczek 892a4b8401 Fix parsing of server version. 2023-08-28 23:07:01 +02: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 e786e1bd11 Pass file transfer cancel message to callback. 2023-04-28 16:57:00 +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 16e187bcb7 Autofocus group input on index page 2023-04-08 21:21:31 +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