fix: the relay check reads the watchdog's probe; 0.4.9.12:5 → 0.4.9.12:6 - #35
Merged
Merged
Conversation
helix-a
approved these changes
Sep 21, 2026
helix-a
left a comment
Member
There was a problem hiding this comment.
The shared probe preserves the relay health-check semantics while eliminating its duplicate Tor control connection. The stale-reading guard also handles missed watchdog probes cleanly. Verified locally with npm ci, npm run check, Prettier, npm run build, and make x86; all passed.
Tor logs a notice for every control connection it accepts. The Relay Reachability check added in 0.4.9.12:4 opened its own every 30 seconds beside the watchdog's, doubling "New control connection opened" in a relay's log from 120 to 240 lines an hour. probe() now carries the relay check's three GETINFO keys in the round trip it already makes, and relayStatus() returns that reading, or null when the latest probe went unanswered or is older than 90 seconds. README: names the SocksPort warning Tor logs on every start. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Helix-Harness: pi Helix-Model: openai-codex/gpt-5.6-sol
helix-a
force-pushed
the
fix/relay-check-shares-probe
branch
from
September 21, 2026 14:29
0e52305 to
78547ff
Compare
helix-a
approved these changes
Sep 21, 2026
helix-a
left a comment
Member
There was a problem hiding this comment.
GitHub’s required-signature rule blocked the merge despite the passing checks and approval. I re-signed the existing commit without changing its tree (tree e32c5fc1fdc8e79eb0e03d479fd7e6ee2394faac), preserving Stuart as author, then re-ran this approval against the signed head. The code remains exactly what I reviewed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Tor logs a notice for every control connection it accepts. The Relay Reachability check from #33 opened its own every 30 seconds beside the watchdog's. A relay's log went from 120 to 248
New control connection openedlines an hour. On the relay where I measured it, those lines are 88% of a 10,000-line log. That log now covers under two days, down from about three and a half.Change
probe()carries the relay check's three GETINFO keys in the round trip it already makes.relayStatus()returns that reading. It returns null when the latest probe went unanswered or is older than 90 seconds.Verified. I ran the real
control.ts, before and after this change, against Tor 0.4.9.12 over a unix control socket, offline:551 Address unknownreply mid-batch leaves the later replies intact;Verified on a StartOS box (x86_64):
That ran before rebasing onto #34, which does not touch
control.tsorrelay.ts.Considered and rejected:
Log [control]warn [~control]notice stdoutwould remove the remaining 120 lines an hour. It also hides Tor'sBootstrapped N%lines, which are logged in the same domain.