Repository navigation
fix(host): stop paired hosts echoing channel listings - #201
Merged
Merged
Conversation
Contributor
Author
|
Signed Canary 0.0.19 (7b55b4a, #203; build-only run 37641790495) is installed and reopened on both natembp and Nate16. Install
natembp (source host), before → after
Nate16 (viewing natembp)
|
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.
Fixes #200 (dogfooding #5).
Two paired hosts echoed unchanged
channelsframes to each other forever: a peer's frame madepeers.watchcallbroadcast(), which sent to every socket, including the inbound socket of that same peer's client. Each frame re-read the whole catalog synchronously, and every new trigger added another circulating frame, so the gateway starved over time. "Loading chat" took 20–60 s locally and remotely.Evidence:
channelsrequest took 9.4 s to handshake, then received 45 identical unsolicited frames in 0.6 s (~1.97 MB, ~75/s)./healthtimed out.tailscale statusshim makes this Mac list itself as a peer, so it only stands in for peer discovery. It does not validate real Tailscale discovery between two machines.whoisauthentication and all gateway traffic used the real Tailscale CLI and tailnet address:channelsframes in 10 s./healthtook 1 ms; cold channelinfotook 248 ms locally and 522 ms through the peer.Built in Ace
Not entirely. This Ace channel wrote the code, ran the local checks and the two-host check, wrote the issue and PR, and runs the CI and build follow-up.
Outside Ace: