1
Fork 0
mirror of https://github.com/jech/galene.git synced 2024-11-23 00:55:58 +01:00
Commit graph

165 commits

Author SHA1 Message Date
Juliusz Chroboczek
69540e23af Allow anonymous users to chat. 2020-10-08 15:19:29 +02:00
Juliusz Chroboczek
2b4372ad87 Sort usernames case-insensitively in user interface. 2020-10-08 15:11:52 +02:00
Juliusz Chroboczek
179b57a986 Display destination in private messages. 2020-10-05 20:48:44 +02:00
Juliusz Chroboczek
66dd71678e Implement private messages. 2020-10-01 16:59:09 +02:00
Juliusz Chroboczek
3bd9a1db4e Timestamp chat messages. 2020-09-30 00:54:12 +02:00
Juliusz Chroboczek
480922268e Some more tweaks to JS typing. 2020-09-29 18:16:54 +02:00
Juliusz Chroboczek
6a4784da44 Hide share button if getDisplayMedia doesn't exist. 2020-09-23 21:53:59 +02:00
Juliusz Chroboczek
2e63c0f305 Error handling when attempting chat on closed connection. 2020-09-23 21:53:59 +02:00
Juliusz Chroboczek
667412e6ae Implement /set command. 2020-09-23 21:53:59 +02:00
Juliusz Chroboczek
0aa77441bd Improve typing of javascript code.
We now enable typing of sfu.js.
2020-09-20 17:25:41 +02:00
Juliusz Chroboczek
8a4b2f5d3f Implement studio and blackboard mode. 2020-09-18 19:58:05 +02:00
Juliusz Chroboczek
b8011371cf Rework settings handling in sfu.js.
There is now a data structure that contains the ultimate truth
about the user's preferences.  We no longer grovel through the
UI components.
2020-09-18 19:58:05 +02:00
Juliusz Chroboczek
f8ae908d7a Implement message for locked groups. 2020-09-18 11:40:00 +02:00
Juliusz Chroboczek
e824b93584 Improve error handling in ServerConnection.connect. 2020-09-18 11:28:13 +02:00
Juliusz Chroboczek
77179c3db9 Allow usernames with spaces.
This requires a proper parser for commands.
2020-09-16 01:42:39 +02:00
Juliusz Chroboczek
1672f13230 Don't login automatically.
Users find it confusing, especially when the browser disables autoplay.
2020-09-16 01:02:46 +02:00
Juliusz Chroboczek
aa3e094f65 Fix checkbox for activity detection, increase interval to 200ms. 2020-09-14 17:15:44 +02:00
Juliusz Chroboczek
66a721a55c Improve typing of sfu.js. 2020-09-12 16:44:42 +02:00
Juliusz Chroboczek
6a554831a1 Sort users lexicographically. 2020-09-12 16:44:42 +02:00
Juliusz Chroboczek
7707775cca Implement user-readable message for kick. 2020-09-12 12:26:07 +02:00
Juliusz Chroboczek
5c97e739a6 Implement activity detection. 2020-09-11 23:43:30 +02:00
Juliusz Chroboczek
d35f599922 Minor fixes to sfu.js. 2020-09-11 22:46:23 +02:00
Alain Takoudjou
df0bb231af more fixes on web interface 2020-09-11 16:51:56 +02:00
Juliusz Chroboczek
760cafe02a Display help message after receiving permissions from server.
We used to display the help message too early, which caused us to
display it even if the group doesn't exist or the user doesn't have
the present permission.
2020-09-11 09:52:40 +02:00
Alain Takoudjou
640fbb8107 more improvement on design 2020-09-11 09:52:40 +02:00
Alain Takoudjou
71f5db03ad fix display login form and video on mibile 2020-09-11 09:52:40 +02:00
Alain Takoudjou
e5ccc82204 minor fixes 2020-09-11 09:52:39 +02:00
Alain Takoudjou
efb8a71981 improve sfu design and remove some useless code 2020-09-11 09:52:39 +02:00
Alain Takoudjou
32459b4b5b fix connexion problem with new users 2020-09-11 09:52:39 +02:00
Alain Takoudjou
788e43ba7a add some interface improvement 2020-09-11 09:52:39 +02:00
Alain Takoudjou
382446ebcb sfu: update layout and make video working with mobile too 2020-09-11 09:52:39 +02:00
Alain Takoudjou
76e812d00f sfu: first working design 2020-09-11 09:52:39 +02:00
Juliusz Chroboczek
517d7edbc8 Make login work when sessionStorage is not available.
Thanks to Ralf Treinen for pointing out the issue.
2020-09-10 15:30:49 +02:00
Juliusz Chroboczek
c9865830cc Fix screen sharing on Safari.
Apparently Safari requires {video: true}.
2020-09-10 10:03:14 +02:00
Juliusz Chroboczek
39789dc89a Make addSharedMedia go through newUpStream.
Otherwise the callbacks don't get set.
2020-09-08 03:10:45 +02:00
Juliusz Chroboczek
93f116021d Clear user list upon disconnection. 2020-09-05 12:59:28 +02:00
Juliusz Chroboczek
eac7a2afc4 Display a notification when local stream fails.
We used to silently fail when there was a problem with camera
permissions.  Display a notification.
2020-09-05 12:52:02 +02:00
Juliusz Chroboczek
9a0c830a59 Fix setting of send bitrate for Firefox.
Thanks to Ines Klimann.
2020-09-03 20:19:26 +02:00
Juliusz Chroboczek
e0a81e7f03 Add ability to limit outgoing throughput.
This will hopefully become unnecessary once we have better congestion
control.
2020-08-26 19:16:01 +02:00
Juliusz Chroboczek
6dc1d72438 Type global variables in sfu.js. 2020-08-24 22:37:48 +02:00
Juliusz Chroboczek
fba0dded84 Type global variables in sfu.js. 2020-08-24 22:31:22 +02:00
Juliusz Chroboczek
e4aad04f28 Fix typo in onended callback of screen share. 2020-08-24 22:24:33 +02:00
Juliusz Chroboczek
a2ab8c3686 Remove up media when closing the socket. 2020-08-23 19:07:52 +02:00
Juliusz Chroboczek
8fbd16cc8c Minor tweaks to error handling. 2020-08-19 14:39:40 +02:00
Juliusz Chroboczek
668fae29ef Add some more typing assertions to sfu.js. 2020-08-13 20:55:13 +02:00
Juliusz Chroboczek
0067edc6eb Fix some more Javascript typos.
Thanks to Rémi Nollet and Léo Stefanesco.
2020-08-13 20:54:37 +02:00
Juliusz Chroboczek
fc3ee84243 Fix typo in newUpStream. 2020-08-13 20:16:52 +02:00
Juliusz Chroboczek
3e0bb08955 Split out the javascript protocol interface. 2020-08-13 12:21:29 +02:00
Juliusz Chroboczek
ec742eacdb Fix typo in renegotiation. 2020-08-13 12:16:05 +02:00
Juliusz Chroboczek
52c4f1a399 Restructure offers. 2020-08-12 13:56:35 +02:00
Juliusz Chroboczek
bc7bd36ba2 Restructure user notifications. 2020-08-12 13:51:31 +02:00
Juliusz Chroboczek
b6adc0b9a8 Rename Connection to Stream in the JS code. 2020-08-12 12:50:28 +02:00
Juliusz Chroboczek
675035ab29 Restructure group and client management messages. 2020-08-12 12:40:40 +02:00
Juliusz Chroboczek
88d2a96819 Restructure error and chat messages. 2020-08-12 12:17:56 +02:00
Juliusz Chroboczek
7b51296262 Split handshake into login/join.
For now, join must follow login, but it will make it easier to extend
the protocol for joining multiple groups (think federation).
2020-08-12 11:50:30 +02:00
Juliusz Chroboczek
6a37033ca8 Allow both sides to initiate renegotiation.
More reliable reaction to network failures when they are detected
by just one side.
2020-08-11 15:49:33 +02:00
Juliusz Chroboczek
7aab79c4c6 Have chat messages go through the server even when sent to oneself. 2020-08-07 11:33:59 +02:00
Juliusz Chroboczek
23c4aea58f Implement renegotiation in the up direction. 2020-08-07 11:15:58 +02:00
Juliusz Chroboczek
9506615272 Restart ICE instead of restarting down connections. 2020-08-07 11:15:58 +02:00
Juliusz Chroboczek
426c1e06d8 Remove half-baked compatibility code for old browsers. 2020-06-19 11:51:46 +02:00
Juliusz Chroboczek
1e977213d1 Check media status in setMediaStatus. 2020-06-12 21:28:35 +02:00
Juliusz Chroboczek
a8ca2e8559 Make stats reporting independent of the number of tracks. 2020-06-12 15:42:44 +02:00
Juliusz Chroboczek
dbd87895ba Add visual feedback for connection status. 2020-06-11 19:47:26 +02:00
Juliusz Chroboczek
4b32c55a57 Restart ICE in client on up connection failures. 2020-06-11 19:20:11 +02:00
Juliusz Chroboczek
e175ef0e49 Replace changed connections.
We used to destroy and recreate connections, we now replace them atomically.
2020-06-10 20:25:25 +02:00
Juliusz Chroboczek
d3655b8955 Handle client-side errors during negotiation. 2020-06-10 14:38:00 +02:00
Juliusz Chroboczek
0308719719 Implement local mute. 2020-06-09 18:10:11 +02:00
Juliusz Chroboczek
f70ff2424e Detect sends on closed websocket explicitly.
It turns out that send on a closed websocket doesn't throw, so handle
this case explicitly.  Thanks to Giuseppe Castagna for noticing.
2020-06-09 01:49:55 +02:00
Juliusz Chroboczek
50ad751e7d Protect against stream being null in connection.close.
This may happen if we close a connection before getting any tracks.
2020-05-30 13:15:12 +02:00
Juliusz Chroboczek
0a2c4eb381 Implement recording. 2020-05-30 03:26:05 +02:00
Juliusz Chroboczek
1365683ad6 Fix selection of alternate media devices.
Thanks to Giuseppe Castagna for noticing.
2020-05-29 15:56:06 +02:00
Juliusz Chroboczek
eb6ab8aa1a Implement workaround for older browsers that don't have transceivers. 2020-05-24 13:39:06 +02:00
Juliusz Chroboczek
9575b80893 Use mids instead of track ids for indexing labels.
It turns out that track ids are not necessarily the same on the local and
remote sides.  Thanks to Ines Klimann for noticing the issue.
2020-05-21 22:40:11 +02:00
Juliusz Chroboczek
cbff5067b2 Implement sharing of multiple application windows at a time. 2020-05-21 22:40:11 +02:00
Juliusz Chroboczek
12858e1f36 Implement commands /lock and /unlock. 2020-05-18 15:24:04 +02:00
Juliusz Chroboczek
037f002a29 Make the requested field of client requests into a dictionary. 2020-05-18 00:56:29 +02:00
Juliusz Chroboczek
b26a8cad78 Label tracks explicitly.
For now, this is only used to request screen sharing as opposed to normal
videos.  In the future, it will be used for simulcasting.
2020-05-17 23:28:19 +02:00
Antonin Décimo
c52fa75686 Fix undefined disconnectbutton variable.
Commit 8257a7f "Remove dead variables." was wrong in that it deleted
the 'diconnect' [sic] variable definition, and left the
'disconnectbutton' variable undefined.
2020-05-14 12:55:41 +02:00
Juliusz Chroboczek
6efd6007f1 Fix bitrate computation.
I'm an idiot.
2020-05-12 19:20:39 +02:00
Juliusz Chroboczek
fbf26be8c6 Instantiate box explicitly.
Thanks to Antonin Décimo.
2020-05-11 02:58:48 +02:00
Juliusz Chroboczek
8257a7ff19 Remove dead variables. 2020-05-11 02:51:44 +02:00
Antonin Décimo
31a5a8e8f1 Fix escaping of \ in character class.
> Rejeté. Ce n'est pas un escape.

D’après mes tests, c’est considéré comme un escape. Doubler le
caractère serait suffisant.

    const url = 'https://example\\.com';
    const urlRegexp1 = /https?:\/\/[-a-zA-Z0-9@:%/._\+~#=?]+[-a-zA-Z0-9@:%/_\+~#=]/g;
    const urlRegexp2 = /https?:\/\/[-a-zA-Z0-9@:%/._\\+~#=?]+[-a-zA-Z0-9@:%/_\\+~#=]/g;
    console.log(url.length); // 20
    console.log(urlRegexp1.exec(url)); // ["https://example"]
    console.log(urlRegexp2.exec(url)); // ["https://example\.com"]
2020-05-11 00:33:58 +02:00
Antonin Décimo
33610e89f8 Introduce a lexical block in case. 2020-05-10 22:42:48 +02:00
Antonin Décimo
38a341de95 Fix unsafe negation.
https://eslint.org/docs/rules/no-unsafe-negation
2020-05-10 21:41:46 +02:00
Antonin Décimo
1064c4a47b Remove mentions of #anonymous-users. 2020-05-10 21:41:33 +02:00
Antonin Décimo
f595da8fa9 Add missing semicolons. 2020-05-10 21:39:42 +02:00
Juliusz Chroboczek
89695c3713 Implement reception of audio only. 2020-05-09 22:44:34 +02:00
Juliusz Chroboczek
f78030c482 Initial implementation of mike and camera selection.
We're closing and reopening the connection each time, we should be
renegotiating instead.
2020-05-05 20:50:27 +02:00
Juliusz Chroboczek
175b08bb08 Remove dead code. 2020-05-05 17:30:56 +02:00
Juliusz Chroboczek
3fec035132 Let setLocal and SharedMedia take the new state as an explicit parameter. 2020-05-04 23:49:44 +02:00
Juliusz Chroboczek
1f50b42ee0 Disable checkbox on media failure in setLocal and SharedMedia. 2020-05-03 11:06:08 +02:00
Juliusz Chroboczek
78cf9d0dbc Resize videos automatically. 2020-05-03 11:06:08 +02:00
Juliusz Chroboczek
10526d474e Add command /clear. 2020-04-30 19:13:32 +02:00
Juliusz Chroboczek
9bd093e78c Stop tracks before closing stream.
Otherwise the camera status light stays on.
2020-04-29 01:22:39 +02:00
Juliusz Chroboczek
d24aafd314 Remove all down connections at websocket close. 2020-04-27 01:37:27 +02:00
Juliusz Chroboczek
e7e1f248ea Dont send close on abort. 2020-04-27 01:33:05 +02:00
Juliusz Chroboczek
087f804100 Clear error after connecting. 2020-04-26 22:00:48 +02:00
Juliusz Chroboczek
eed3d2aff7 Display upstream throughput. 2020-04-26 22:00:48 +02:00
Juliusz Chroboczek
e19d704a0a Format error messages on the client side. 2020-04-26 19:15:02 +02:00
Juliusz Chroboczek
c441b49d26 Send rate updates over RTCP. 2020-04-26 03:03:39 +02:00