From 08b0f8d7c457e5e58a31bea2b2e43c9f398a6923 Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Fri, 4 Sep 2026 14:51:08 +0200 Subject: fix: drop the retired Mozilla STUN server from the defaults MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit stun.services.mozilla.com no longer resolves — Mozilla shut the service down — so every ICE gather waited out a DNS timeout on it. Removed from the node defaults (config.py), the browser defaults (transport.js) and the Node page's "reset to defaults" (node-page.js). Google (two endpoints) plus Cloudflare still give two-provider coverage against a single outage, which is the §2.12 resilience claim. draft-v6 §2.12 updated. Co-Authored-By: Claude Sonnet 5 --- packages/meshbay-hub/src/meshbay_hub/static/node-page.js | 2 +- packages/meshbay-hub/src/meshbay_hub/static/transport.js | 3 ++- packages/meshbay-node/src/meshbay_node/config.py | 4 +++- 3 files changed, 6 insertions(+), 3 deletions(-) (limited to 'packages') diff --git a/packages/meshbay-hub/src/meshbay_hub/static/node-page.js b/packages/meshbay-hub/src/meshbay_hub/static/node-page.js index 8df4c9d..a2d3e49 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/node-page.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/node-page.js @@ -383,11 +383,11 @@ export function NodePage({ groups }) { }, []); const resetStunDefaults = useCallback(() => { + // Keep in step with meshbay_node.config.DEFAULT_STUN_SERVERS. setEditStun([ 'stun:stun.l.google.com:19302', 'stun:stun1.l.google.com:19302', 'stun:stun.cloudflare.com:3478', - 'stun:stun.services.mozilla.com:3478', ]); setActionMsg(''); }, []); diff --git a/packages/meshbay-hub/src/meshbay_hub/static/transport.js b/packages/meshbay-hub/src/meshbay_hub/static/transport.js index 809bb83..ea1e70a 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/transport.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/transport.js @@ -147,7 +147,8 @@ const STUN_URLS = [ 'stun:stun.l.google.com:19302', 'stun:stun1.l.google.com:19302', 'stun:stun.cloudflare.com:3478', - 'stun:stun.services.mozilla.com:3478', + // Mozilla retired stun.services.mozilla.com; the name no longer resolves. + // Google + Cloudflare still cover a single-provider outage. ]; let _iceServersPromise = null; function iceServers() { diff --git a/packages/meshbay-node/src/meshbay_node/config.py b/packages/meshbay-node/src/meshbay_node/config.py index a5220cd..0e5a7de 100644 --- a/packages/meshbay-node/src/meshbay_node/config.py +++ b/packages/meshbay-node/src/meshbay_node/config.py @@ -24,7 +24,9 @@ DEFAULT_STUN_SERVERS: list[str] = [ "stun:stun.l.google.com:19302", "stun:stun1.l.google.com:19302", "stun:stun.cloudflare.com:3478", - "stun:stun.services.mozilla.com:3478", + # stun.services.mozilla.com was here — Mozilla retired it, the name no + # longer resolves, and each gather waited out its DNS timeout. Two + # providers (Google, Cloudflare) still cover a single-provider outage. ] DEFAULT_CONFIG_PATH = config_dir() / "node.toml" -- cgit v1.2.3