Skip to content

fix(host): list an unreachable peer's channels as offline instead of dropping them - #283

Merged
iamnbutler merged 2 commits into
mainfrom
peer-offline
Oct 15, 2026
Merged

iamnbutler merged 2 commits into
mainfrom
peer-offline

Conversation

@iamnbutler

Copy link
Copy Markdown
Contributor

Summary

Without a team directory, a peer's channels vanished from the sidebar whenever it was unreachable: tailnet down, sleep, or a Helper restart. The open timeline and composer went with them, and nothing said why. The host now remembers each peer's last listing and lists those channels as offline, as it already does for channels it learns from the directory. They return to live state when the peer answers again.

Found in the two-person study, scenario 14 (#218). Mac B went off the tailnet for 61s. On the other Mac, Tester A's channels disappeared and showed "Choose a channel from any project". Tester B rated the confusion 3/3: they could not post.

Testing

  • bun types and bun run ci pass.
  • Not yet smoke-tested. The live check is in the study's next canary: take Mac B off the tailnet during scenario 15 and confirm its channels stay listed as offline on Mac A.

Built in Ace

Written from Claude Code in a lane outside Ace. Overnight, the study lead orchestrates two Macs over SSH, and an Ace channel can't drive the other Mac's tester sessions. Dogfooding gap: #5.

…dropping them

Why: apps/host/src/peers.ts#function unreachable | without a team directory, a peer's last answer is the only record of its channels; dropping it on disconnect hides open conversations
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant