aboutsummaryrefslogtreecommitdiffstats
path: root/docs/refactor-groups.md
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-09-09 01:15:42 +0200
committerChristophe Besson <cbesson@gmail.com>2026-09-09 01:15:42 +0200
commit9563dff61b61681fed27673afd7c7b6ed30eb176 (patch)
treefb7d14b47bf685670977127f30058193d378f3d5 /docs/refactor-groups.md
parentb3ea222ca8b6218e0187070fe94bc8fed7059a90 (diff)
downloadmeshbay-9563dff61b61681fed27673afd7c7b6ed30eb176.tar.gz
fix(node): push the grants a per-member cap change produces
Raising the per-member cap from 2 to 4 left both waiting transfers on "waiting". The pool granted them correctly and nobody told the peers: `ops.set_transfer_limits` computed `granted` and never sent a `transfer_state`, where the node-wide path (`WebRTCTransport.set_capacity`) does. That is the first row of §5.2 of ~/next/improve-downloads.md — "node granted a slot, the push was lost" — reached by writing the decision and forgetting the send. It is the same omission as the missing `touch()` call one layer up, on the same day: a mechanism that is right everywhere except at the seam where it has to reach somebody. The client recovered after its 60-second watchdog re-asked, which is why this looked like a slow queue rather than a lost message. `transfer_probe.py --operator` covers it now, separately from the node-wide hot-swap it already covered — different door, different code path, and only one of them was tested. Verified failing with the push removed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HCGdheDLxGReuKHga3BtST
Diffstat (limited to 'docs/refactor-groups.md')
0 files changed, 0 insertions, 0 deletions