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 --- docs/MESHBAY_DESIGN.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'docs') diff --git a/docs/MESHBAY_DESIGN.md b/docs/MESHBAY_DESIGN.md index 1480cd57..01555804 100644 --- a/docs/MESHBAY_DESIGN.md +++ b/docs/MESHBAY_DESIGN.md @@ -4187,7 +4187,11 @@ narrow bridge — and Android has all three: reconnect to try now rather than tear it down, so a download or a film under way resumes once the permission is granted or mobile data is back; an attempt still waiting on ICE is given up for a new one, since Chrome - keeps refusing what it dropped when that attempt began. + keeps refusing what it dropped when that attempt began. Search gives up on + a node long before ICE does, so it reads the refusal from the connection + when it gives up (`localNetworkRefused()`), tries the group's other nodes, + and names the groups refused, each a link to its page, apart from those + that did not answer. - **The page hears when the phone changes network** (`meshbay-default-network`, from the default network callback), mobile data to Wi-Fi or back, and checks the connection it holds (transport.js `onNetworkChange`). The event carries @@ -4827,7 +4831,6 @@ process runs it — `systemctl --user` on Linux, Task Scheduler on Windows. | **A failed download leaves its in-flight chunks rejecting unhandled** | When `pipelinedDownload` throws, the other promises of its window are abandoned and each prints "Uncaught (in promise)" in the console. Noise, but in the log a dropped connection is read from | | **A queued transfer logs "no answer" every minute** | The lease watchdog re-asks after 60 s of silence whatever the last answer was, so a lease the node has answered `queued` and that has not moved prints "no answer for transfer ... asking again" once a minute for as long as it waits, which reads as a fault | | **"Prune stale entries" does not touch the index** | The Node page's maintenance button runs `prune_index_cache`, which drops rows of the hash cache and nothing else. An operator who sees a deleted file still listed reaches for it, and nothing changes: only the reconcile removes an index entry, and nothing lets the operator ask for one | -| **Only the group page explains a refused local network** | `transport.js` names it (`local_network_blocked`, Android 17 and Chrome 155), and `group-page.js` says what to change. Search and the other screens that open a connection show it as a node that cannot be reached | --- -- cgit v1.2.3