feat: Add TURN server support
Queue Release Build / prepare (push) Successful in 15s
Deploy Web Apps / deploy (push) Successful in 5m35s
Queue Release Build / build-linux (push) Successful in 24m45s
Queue Release Build / build-windows (push) Successful in 13m52s
Queue Release Build / finalize (push) Successful in 23s

This commit is contained in:
2026-04-18 21:27:04 +02:00
parent 167c45ba8d
commit 44588e8789
60 changed files with 2404 additions and 365 deletions
@@ -4,7 +4,6 @@ import {
CONNECTION_STATE_DISCONNECTED,
CONNECTION_STATE_FAILED,
DATA_CHANNEL_LABEL,
ICE_SERVERS,
SIGNALING_TYPE_ICE_CANDIDATE,
TRACK_KIND_AUDIO,
TRACK_KIND_VIDEO,
@@ -28,7 +27,7 @@ export function createPeerConnection(
logger.info('Creating peer connection', { remotePeerId, isInitiator });
const connection = new RTCPeerConnection({ iceServers: ICE_SERVERS });
const connection = new RTCPeerConnection({ iceServers: callbacks.getIceServers() });
let dataChannel: RTCDataChannel | null = null;
let peerData: PeerData | null = null;
@@ -29,6 +29,8 @@ export interface PeerConnectionCallbacks {
isScreenSharingActive(): boolean;
/** Whether the local camera is active. */
isCameraEnabled(): boolean;
/** Returns the user-configured ICE servers for peer connection creation. */
getIceServers(): RTCIceServer[];
}
export interface PeerConnectionManagerState {