feat(webrtc): default ICE config to Google STUN so cross-network desktop connects #101
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/VS-82-webrtc-ice-default-stun"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
VA-10 wired the server to push a
webrtcconfigcontrol frame to agents and to surface the sameiceServersto the browser viaserverinfo, but only when an operator had seticeserversin the domain config. With no config the server pushed nothing, so both peers gathered host candidates only and the desktop-tab WebRTC data channel never opened across networks (browser: "ICE failed, add a STUN server").Make the server ship the public Google STUN set by default.
Domain::ice_servers_or_default()resolves the effective ICE-server array once (operatoriceserverswhen set, elsedefault_ice_servers()=stun.l.google.com:19302plusstun1..stun4), and bothpush_webrtc_config(agent) andServerInfoBody::from_domain(browser) read through it, so the agent and the browser always point at the same servers.push_webrtc_confignow falls back to the default even when no config is loaded. An explicit emptyiceserversarray is preserved verbatim and disables ICE servers (host-candidate-only), the pre-VS-82 behavior.TURN is carried by the same path already:
iceserversholds rawRTCIceServerobjects, soturn:URLs plususername/credentialare pushed to both peers verbatim once a coturn deployment exists. Deploying coturn is an operational step outside this repo. README documents the default, the override/TURN shape, and the disable escape hatch.#VS-82