Repository navigation
fix(host): keep a teammate whose helper stops in People as Offline, and only call a channel offline when its host is - #682
Merged
Merged
Conversation
…nd only call a channel offline when its host is Why: apps/host/src/gateway.ts#function listed | a directory or remembered channel whose host is a reachable peer is left out, not listed offline: the peer's own listing decides what it shares, and Offline must mean the same in People and the sidebar Why: apps/host/src/peers.ts#function members | People lists every peer that answered since this host started, online only while its listing connection is open, matching which channels unreachable() lists offline
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.
People and the sidebar now use the same meaning of Offline.
apps/host/src/peers.ts:members()replacesonline(). People lists every peer that has answered since this host started, and marks it online only while its listing connection is open. Before, a teammate whose Ace Helper stopped while their Mac stayed on the tailnet disappeared from People when there was no directory. Now it reads Offline, the same as its remembered channels in the sidebar.apps/host/src/gateway.tslisted(): a directory or remembered channel whose host is a reachable peer is left out instead of being listedoffline. The peer's own listing decides what it shares. This was the pair-study case where People said Sam was Online while the sidebar readsamechocolixir · Offlineafter a share was lost. Telling the teammate that the project is no longer shared with them is still Stopping the directory deletes project shares silently, and lost access shows as Offline #631.Map: ^101 (See people on the tailnet), ^389 (See a teammate's section).
Not in this PR: the ^389 request to head a teammate's All Projects section "Shared with you" instead of
project · host · loginsorted last. The wording, grouping and sort order are product decisions, and the item doesn't specify them.Smoke test (partial): an isolated host on port 5100 returned the roster with this Mac. There was no second Ace host on this tailnet that I was allowed to reach, so I didn't see a stopped helper or a lost share. A two-Mac check is needed before merging.
Built in Ace
No. A Claude Code fix-train worker made this outside Ace: it edited in a lane and ran checks in a terminal. The fix train runs agents in parallel from one board, which Ace doesn't drive yet. #5