Commit graph

1227 commits

Author SHA1 Message Date
sergystepanov
6fff575817 Use state from the WebRTC stat reports for RTT
Previous fix #844d84b doesn't work in Chrome, so this is another method
for better FF/Chrome compatibility.
2026-06-06 22:52:53 +03:00
sergystepanov
14de2a1790 Disable automatic worker room assignment in busy rooms 2026-06-06 22:23:19 +03:00
sergystepanov
7389bce9cb Update deps
go: upgraded github.com/pion/dtls/v3 v3.1.3 => v3.1.4
go: upgraded github.com/pion/stun/v3 v3.1.4 => v3.1.5
go: upgraded github.com/pion/turn/v5 v5.0.8 => v5.0.9
go: upgraded github.com/pion/webrtc/v4 v4.2.14 => v4.2.15
2026-06-06 18:44:38 +03:00
sergystepanov
9b3d873907 It is time to update copyleft year 2026-06-06 18:35:11 +03:00
sergystepanov
a4b4e0458f Unify all WebRTC signaling in the API
Users, workers, and the coordinator will now send WebRTC signaling
information through a single API endpoint with a unified structure. The
payload should contain either an sdp or ice field for further processing
by the designated handlers.

Replaced API endpoints:
  - (101) WebrtcOffer -> WebrtcSignal
    Removed API endpoints:
  - WebrtcAnswer (102)
  - WebrtcIce (103)
2026-06-06 18:19:07 +03:00
sergystepanov
f72202684f Remove Base64 encoding of wire data 2026-06-06 15:31:13 +03:00
sergystepanov
fa783dc7cd Add init method into WebRTC Signalling 2026-06-06 14:20:17 +03:00
sergystepanov
844d84b6ac Use RTT stats from the selected ICE pair in the stats 2026-06-06 12:58:23 +03:00
sergystepanov
eaed44a03f Add direct siganlling dependency in the WebRTC module 2026-06-06 11:51:51 +03:00
sergystepanov
3388a0fbce Create data channels when pushed to the server 2026-06-05 14:46:55 +03:00
sergystepanov
25f42ee789 Revert "Enable client offer by default"
This reverts commit 2cb852926d.
2026-06-05 00:01:40 +03:00
sergystepanov
c174f3ff1e Update dependencies 2026-06-04 23:44:15 +03:00
sergystepanov
2cb852926d Enable client offer by default 2026-06-04 23:43:21 +03:00
sergystepanov
d9a13f006c Disable renegotiation when ICE fails 2026-06-04 23:11:45 +03:00
sergystepanov
bc17b1c2a0 Set to wait remote offer by default 2026-06-04 22:54:23 +03:00
sergystepanov
4dfc001a76 Exit when peer connection is not set 2026-06-04 22:50:48 +03:00
sergystepanov
d6f2cfc5ef Add the option switch for WebRTC initiator 2026-06-04 22:36:36 +03:00
sergystepanov
e96cee3cfa Reformat settings.js 2026-06-04 22:36:35 +03:00
sergystepanov
8c4b4bf96f Add an option for initiating WebRTC offer on the client side
WebRTC negotiation will start in the browser with an offer. Added because a reversed negotiation (server's offer) doesn't work in Firefox-based browsers.
2026-06-04 22:36:35 +03:00
sergystepanov
97a0d0a4c5 Add fullscreen FPS info 2026-06-04 22:36:34 +03:00
sergystepanov
240147f8f1 Set sane ws default message size 2026-06-04 22:36:34 +03:00
sergystepanov
f6a933799f Change WEBRTC_SDP event naming 2026-06-04 22:36:34 +03:00
sergystepanov
61020ec78f Reformat event.js 2026-06-04 22:36:33 +03:00
sergystepanov
35a23224ab Set ICE prefetch 2026-06-04 22:36:33 +03:00
sergystepanov
c5b7748f95 Close connection when rtc state changes 2026-06-04 22:36:33 +03:00
sergystepanov
637fd81452 Detach WebRTC handlers before close 2026-06-04 22:36:33 +03:00
sergystepanov
8c890f0c8e Clean webrtc.js 2026-06-04 22:36:33 +03:00
sergystepanov
fb926e6d2d Push WEBRTC_READY when connected 2026-06-04 22:36:32 +03:00
sergystepanov
5757e3bac6 Push ICE candidates right away 2026-06-04 22:36:32 +03:00
sergystepanov
337bf6149c Add Trickle ICE support on the server 2026-06-04 22:36:32 +03:00
sergystepanov
7c604e94fb Reformat socket.js 2026-06-04 22:36:31 +03:00
sergystepanov
4d5a1c7778 Remove INIT_WEBRTC API call 2026-06-04 22:36:31 +03:00
sergystepanov
a8f4860b35 Fix close binding 2026-06-04 22:36:31 +03:00
sergystepanov
e541f7e183 Add InitWebrtcStream API call 2026-06-04 22:36:31 +03:00
sergystepanov
df8d35f542 Clean WebRTC export 2026-06-04 22:36:31 +03:00
sergystepanov
fd596fa85f Reformat api.js 2026-06-04 22:36:30 +03:00
sergystepanov
f50b37c11f Update webrtc.js 2026-06-04 22:36:30 +03:00
sergystepanov
2273fe393f Add IceRestart stub 2026-06-04 22:36:30 +03:00
sergystepanov
65d74bb769 Move MediaStream element to WebRTC start options 2026-06-04 22:36:30 +03:00
sergystepanov
b7bd198a8e Reformat app.js 2026-06-04 22:36:30 +03:00
sergystepanov
6a03b65e42 Update webrtc.js 2026-06-04 22:36:30 +03:00
sergystepanov
edb92b8993 Change predefined datachannels to callbacks 2026-06-04 22:36:30 +03:00
sergystepanov
de24654ca8 Use direct FlushCandidates instead of global messaging 2026-06-04 22:36:30 +03:00
sergystepanov
dae0b62eb0 Clean webrtc module 2026-06-04 22:36:30 +03:00
sergystepanov
00b52dde8d Reformat webrtc.js 2026-06-04 22:36:29 +03:00
sergystepanov
d42ad68ef3 Add api base64 decoder 2026-06-04 22:36:29 +03:00
sergystepanov
8faa698edc Flush ICE candidates only once 2026-06-04 22:36:29 +03:00
sergystepanov
e6258f11a1 Add readable message logging 2026-06-04 22:36:29 +03:00
sergystepanov
98449d0099 Remove WS message logging 2026-06-01 14:00:22 +03:00
sergystepanov
92f3e6378f Update WebRTC module state logging 2026-06-01 13:56:17 +03:00