You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(relay): correct data plane wiring and fix multiple peer management bugs
Relay mode had the instruction/response data flow reversed — instructions
from the entry were looped back instead of fanned out to exit peers, and
exit responses went nowhere instead of upstream. This made relay data
transfer non-functional. Swap the uni-stream wiring so instructions fan
out entry→exits and responses fan in exits→entry.
Also fixes:
- Relay source peer not registered in the registry (invisible in
`wallhack peers`)
- Exit connect mode never calling `update_capabilities()`, causing
all peers to show tun=false listen=false connect=false
- Entry connect mode discarding latency measurements (latency always
showed `—` until manual ping)
- Auto-mode dispatch destructuring ErasedConnectResult into 13 positional
args instead of passing the struct directly
Verified in range UAT: relay chain (entry ← relay ← exit) stays stable,
peer role correctly shows `relay`, latency auto-populates on connect.
Data flow blocked by a separate issue: SYN proxy uses direct bidi streams
which bypass the relay's uni-stream bridge (tracked in TODO).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
0 commit comments