summaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/src/meshbay_node/daemon.py
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-09-01 01:24:50 +0200
committerChristophe Besson <cbesson@gmail.com>2026-09-01 01:24:50 +0200
commit1c8eb6577e36e1e4a150afd0cdda8d283172385e (patch)
treebf7dde66f00490023e028c5a23e2ef353b16e4fd /packages/meshbay-node/src/meshbay_node/daemon.py
parentfe30860c58e0f1b1efd457ff5eb5146d1e592da0 (diff)
parentb3b48a43a33f936be18a3daa22d307c144b60e22 (diff)
downloadmeshbay-1c8eb6577e36e1e4a150afd0cdda8d283172385e.tar.gz
Merge branch 'fix/node-stun-fanout'
Node-side WebRTC STUN fallback now queries every configured server instead of collapsing to the first (aiortc/aioice limitation). See stun_multi. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BSsQhfxEAhwi4nqc4hASmq
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node/daemon.py')
-rw-r--r--packages/meshbay-node/src/meshbay_node/daemon.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/daemon.py b/packages/meshbay-node/src/meshbay_node/daemon.py
index 5c6d86c..2130440 100644
--- a/packages/meshbay-node/src/meshbay_node/daemon.py
+++ b/packages/meshbay-node/src/meshbay_node/daemon.py
@@ -476,6 +476,11 @@ class NodeDaemon:
install_ice_filter(
self._config.node.ice_interfaces or None,
)
+ # aiortc keeps only the FIRST entry of RTCConfiguration.iceServers, so
+ # the multi-STUN fallback only exists on the node if aioice itself
+ # fans out — see transport/stun_multi.
+ from meshbay_node.transport.stun_multi import install as install_stun_multi
+ install_stun_multi(self._config.node.stun_servers or None)
first = next(iter(groups_ctx.values()), None)
if WEBRTC_AVAILABLE: