Skip to content

fix: update team state live after joining or leaving the directory - #680

Merged
iamnbutler merged 2 commits into
mainfrom
fix-team-live
Oct 23, 2026
Merged

iamnbutler merged 2 commits into
mainfrom
fix-team-live

Conversation

@iamnbutler

Copy link
Copy Markdown
Contributor

The host now tells its apps (a settings frame) whenever it joins, changes, or leaves the team directory, by any route: this app, another window, ace directory <url>|off, an approved Ask to join, or adopting a peer's directory. The sidebar Team directory card and Settings → Team read the directory again on it, so neither needs a reload. This replaces the per-window ace:directory-changed event, which missed the CLI and Ask to join.

  • The asker's " let you in" toast now stays until dismissed: the asker is usually at their teammate's screen while they approve, and the default 4 s toast was gone by the time they looked back.
  • Settings → Team no longer reads "Served by this Mac at undefined" after ace directory off on a Mac that still serves the directory.

Map: ^120, ^106, ^882, ^883. Refs #632, #636.

Smoke (isolated bun ace serve --port 4990, own home, config, and keychain service; headless Chromium on the built app):

  • Sidebar card shown with no directory → gone after another client served and joined it → back after ace directory off → gone after ace directory <url>, all without a reload.
  • With Settings → Team open, the Directory row followed ace directory off and ace directory <url> live.
  • Not smoked: the asker's toast after a real Ask to join approval, which needs a second Mac on the tailnet.

Built in Ace

No. Made by a Claude Code fix-train worker in a lane, with headless Chromium for the smoke test, since the fix train runs outside Ace (#5).

The host now sends its apps a settings frame whenever it joins, changes, or
leaves the directory, by any route: the app, another window, `ace directory`,
an approved ask, or adopting a peer's. The sidebar card and Settings → Team
read the directory again on it, replacing the per-window event that missed
the CLI and Ask to join. The asker's "let you in" toast stays until dismissed,
since they are often at their teammate's screen during approval.

Why: apps/host/src/directory.ts#function configure | every join or leave tells the running host's apps (chose), so their directory views never need a reload
@iamnbutler
iamnbutler merged commit 6073baf into main Oct 23, 2026
1 check passed
@iamnbutler
iamnbutler deleted the fix-team-live branch October 23, 2026 12:25
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