From 7e01b7e8c2ce2ef9fce8b6c053c3b7210b64f9bf Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Sat, 17 Oct 2026 18:51:35 +0200 Subject: fix(spa): search names the groups refused the local network Search gives up before ICE does, so the refusal is read from the connection then; the walk moves on to the group's other nodes, and the page lists the refused groups with a link to each. Co-Authored-By: Claude Opus 5.5 --- packages/meshbay-hub/tests/test_local_network_refused.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'packages/meshbay-hub/tests/test_local_network_refused.py') diff --git a/packages/meshbay-hub/tests/test_local_network_refused.py b/packages/meshbay-hub/tests/test_local_network_refused.py index 3d0f3041..4f556474 100644 --- a/packages/meshbay-hub/tests/test_local_network_refused.py +++ b/packages/meshbay-hub/tests/test_local_network_refused.py @@ -104,3 +104,17 @@ def test_stats_that_cannot_be_read_leave_the_old_error(): out = _run({"offer": PHONE_WIFI, "answer": NODE, "remote": KEPT_WHEN_REFUSED, "statsThrow": True}) assert out["reason"] is None and out["outcome"] == "DataChannel closed", out + + +def test_the_refusal_is_read_before_ice_gives_up(): + """Search stops waiting after ten seconds without progress, and ICE gives up + later: the signature is in the pairs as soon as checks begin.""" + refused = _run({"offer": PHONE_WIFI, "answer": NODE, "remote": KEPT_WHEN_REFUSED, + "probeAt": 5000}) + assert refused["early"] is True, refused + paired = _run({"offer": PHONE_WIFI, "answer": NODE, "remote": EVERY_NODE_ADDRESS, + "probeAt": 5000}) + assert paired["early"] is False, paired + reached = _run({"offer": PHONE_WIFI, "answer": NODE, "remote": KEPT_WHEN_REFUSED, + "iceConnects": True, "probeAt": 5000}) + assert reached["early"] is False, reached -- cgit v1.2.3