Skip to content

Teammate's Mac keeps its owner's old GitHub login until Ace Helper restarts #610

Closed

Description

@iamnbutler

A teammate's Mac stays credited to the GitHub login its owner used before, until this Mac's Ace Helper restarts. People, the share dialog, message authors, sidebar groups and Team pulse all show the wrong person.

What was seen

Mac B (nate16-1) switched its gh account from iamnbutler to samechocolixir and restarted Ace Helper. B's own People list was right: "samechocolixir · nate16-1 · This Mac". On Mac A, People still said "iamnbutler · nate16-1 · Online", even after joining B's directory, clicking Refresh twice and waiting. The directory's hosts table had the right mapping (nate16-1 → samechocolixir).

Effects on A:

  • Sam's reply in A's channel was credited to "iamnbutler", with Nate's avatar: "B here — I can see it". Nothing showed someone else had written it.
  • The Share dialog listed only "iamnbutler", so A couldn't tell whether Sam was covered.

Restarting A's helper fixed every name at once, including the past messages.

Cause (apps/host/src/peers.ts, apps/host/src/gateway.ts)

  • named in peers.ts keeps each peer's GitHub login from its last hello. B's restarted helper answered A's hello before gh had resolved, so hello.github was empty and greet() kept the stale login ("A freshly started peer answers before gh has told it its owner's login").
  • discover() re-greets open peers only while no directory is chosen (if (directory.isChosen()) return;), so once A was on a directory nothing asked again. teams() asks for a fresh hello but doesn't update named.
  • people() in gateway.ts lets peers.people() override the directory's hosts[].github ("Fresher sources win: the directory, then reachable peers"), so the correct login from the directory loses to the stale one.

Steps

  1. Two Macs on one tailnet see each other in Settings → Team → People.
  2. On Mac B, switch gh to another account and restart Ace Helper.
  3. On Mac A, open Settings → Team → People, and read a message B posts in a shared channel.

Expected: A names B's Mac by B's current login within a refresh. Seen: the old login, until A's helper restarts.

Map: ^101 (also ^351).

Found in the 2026-10-22 two-Mac pair study.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions