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

434 commits

Author SHA1 Message Date
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
f5cb2ff328 Rework synchronisation between webserver and main.
We now exit with an error code if the webserver couldn't start.
2020-09-18 14:47:33 +02:00
Juliusz Chroboczek
aeb8540ad4 Fix kickability. 2020-09-18 14:47:33 +02:00
Juliusz Chroboczek
6e84b641e6 Improve cachability of the web server. 2020-09-18 14:47:33 +02:00
Juliusz Chroboczek
4d79d10d6e Reimplement http.FileServer.
http.FileServer is inflexible, it is better to reimplement it
rather than trying to work around its limitations.
2020-09-18 13:40:37 +02:00
Juliusz Chroboczek
6d3932b491 Move webserver into its own package. 2020-09-18 13:11:21 +02:00
Juliusz Chroboczek
211845564e Increase the saved chat history. 2020-09-18 11:48:21 +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
b2f01a528e Fix URL in ServerConnection.connect. 2020-09-18 11:24:33 +02:00
Juliusz Chroboczek
5a4db62873 Call context cancel function after shutdown.
Keeps go vet from complaining.
2020-09-18 10:36:05 +02:00
Juliusz Chroboczek
2347417f83 Merge branch 'modular' into master 2020-09-18 10:33:17 +02:00
Juliusz Chroboczek
709a6857d3 Update .gitignore. 2020-09-18 10:31:42 +02:00
Juliusz Chroboczek
6f5ae12f14 Move RTP-specific code into its own package. 2020-09-18 10:28:05 +02:00
Juliusz Chroboczek
98245cbd24 Draw recorder ids randomly. 2020-09-18 10:26:00 +02:00
Juliusz Chroboczek
7ce61a1100 Move stats code into its own module.
Move RTP-specific code into its own file.
2020-09-18 10:26:00 +02:00
Juliusz Chroboczek
714a0939d6 Fix formatting of /me. 2020-09-16 01:47:36 +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
Antonin Décimo
5ad4df5a45 Add missing semicolons. 2020-09-14 17:23:06 +02:00
Antonin Décimo
c6d065aa20 Println doesn't support formats. 2020-09-14 17:22:22 +02:00
Juliusz Chroboczek
aa3e094f65 Fix checkbox for activity detection, increase interval to 200ms. 2020-09-14 17:15:44 +02:00
Juliusz Chroboczek
813d89b60d Move disk writer to its own package. 2020-09-13 20:51:18 +02:00
Juliusz Chroboczek
c608723394 Move group and client to their own package. 2020-09-13 20:51:15 +02:00
Juliusz Chroboczek
d9cf32eda7 Move connections to their own package. 2020-09-13 20:40:33 +02:00
Juliusz Chroboczek
7148ea1864 Make AllowRecording into a method of group. 2020-09-13 20:40:33 +02:00
Juliusz Chroboczek
03e57aac90 Make Redirect a method of group. 2020-09-13 20:40:33 +02:00
Juliusz Chroboczek
f2fcc09e61 Implement NewDiskClient. 2020-09-13 20:33:53 +02:00
Juliusz Chroboczek
7126394e65 Fix locking in group.go.
Also export some fields as thread-safe methods.
2020-09-13 20:33:53 +02:00
Juliusz Chroboczek
938d231b30 Make API a method of group. 2020-09-13 13:09:34 +02:00
Juliusz Chroboczek
22c6ad6b8c Implement ranging over groups. 2020-09-13 12:24:06 +02:00
Juliusz Chroboczek
fb02c6fe1f Move client actions to webclient.go.
These are specific to webclients.
2020-09-13 11:57:33 +02:00
Juliusz Chroboczek
78e9c96a53 Make SetPermissions part of the client interface. 2020-09-13 10:45:16 +02:00
Juliusz Chroboczek
0064aa6fd2 Split out statistics functions into stats.go. 2020-09-13 10:10:35 +02:00
Juliusz Chroboczek
1fe64e15f0 Remove packet pacing.
It's not obvious that it's useful, especially now that the writer
is split into multiple threads.  Do retain the dynamically computed
delay in case of audio congestion.
2020-09-13 09:40:49 +02:00
Juliusz Chroboczek
96dbcd9dcb Release lock early in newUpConn.
Otherwise recording to disk causes a deadlock.
2020-09-13 02:27:50 +02:00
Juliusz Chroboczek
fa29e50f8b Split writer loop into multiple threads.
This improves both scaling and fairness in the case where a single
track is being sent to large numbers of receivers.  We avoid
communication overhead by growing the number of threads as the
square root of the number of receivers.
2020-09-13 02:02:11 +02:00
Juliusz Chroboczek
8d58571d4c Create webserver structure in main thread.
Avoids a race.
2020-09-13 02:02:11 +02:00
Juliusz Chroboczek
71022f4b58 Remove ErrWriterDead, replace with ErrClientDead. 2020-09-13 02:02:11 +02:00
Juliusz Chroboczek
abb8b70a0d Load toastify before its users. 2020-09-12 18:31:04 +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
c9b61ab532 Remove unused function getTimestamp. 2020-09-12 14:47:09 +02:00
Juliusz Chroboczek
6f120f0333 Make disk recording clients kickable.
Kick can no longer be called with groups locked.
2020-09-12 14:00:14 +02:00
Juliusz Chroboczek
e37e27036e Implement graceful server shutdown.
This gives the user a friendly message when the server shuts down.
2020-09-12 13:59:55 +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
Juliusz Chroboczek
0b5416f617 Revert blurring failed media.
Failed media must still be usable.
2020-09-11 21:53:53 +02:00