Ace map · team

Team

Everyone on the tailnet who runs Ace is on the team. A directory, created later, keeps offline hosts' channels listed and holds project shares.

testedvisualpartialbrokenuntestedmissingplannednopen gap
^100

See your team

partial

1 Pair study 2026-10-22 (two Macs on Canary 0.0.51.85): people, presence and teammates' channels worked across Macs; a peer's stale GitHub login and offline channels fell short.

  1. ^101

    See people on the tailnet

    tested
    Settings → Team → People; first run's team step

    Each person with their host and whether it's online; this host says This Mac.

    2 Mac A kept naming nate16-1 by its owner's previous GitHub login, in People, message authors and the share list, until A's Ace Helper restarted: named in peers.ts keeps a hello sent before gh resolved and stops re-greeting once a directory is chosen.

    3 Pair study, Canary 0.0.53.88: no stale login after githubnext/ace#611, but People said Sam Online while the sidebar said samechocolixir · Offline, and with no directory and Sam's helper stopped Sam vanished from People instead of showing Offline.

  2. ^102

    Add a teammate

    tested
    Settings → Team → Add a teammate

    Steps to share the tailnet in the Tailscale admin console and have them install Ace. Nothing to send from Ace.

  3. ^103

    See teammates' channels while their host is online

    tested

    Hosts exchange hellos and listings over the tailnet, so a teammate's channels show without a directory.

    4 Pair study, Canary 0.0.53.88: a teammate's shared folder project vanished from the picker without a word each time this Mac left the directory or it stopped, and a teammate's channel in a repository you also have is listed inside your own project.

  4. ^104

    Open a channel whose host is offline

    partial

    <host> is offline, with Create directory when the team has none.

    5 Shows nate16-1 is offline — b-chan runs on that Mac. with none of the history already read; Send is disabled with no reason and nothing queued; the project picker has no offline mark.

    6 Pair study, Canary 0.0.53.88: while Sam was online but the share was gone (directory stopped), b-sandbox read samechocolixir · Offline / Offline: nate16-1 is unreachable, so lost access looks like the host being offline.

^105

Create the team's directory

visual

Served by a host on the tailnet: no account and no secret. Hosts that have never chosen a directory join it from that host's hello.

7 Pair study 2026-10-22: creating it on This Mac took two clicks; the teammate already on another directory had to paste the URL by hand.

  1. ^106

    Start from the sidebar card

    tested
    Channels sidebar → Team directory → Create directory

    Shown until the team has a directory; × dismisses it on this device.

    8 Re-check, Canary 0.0.54.93: after leaving, the card read nate16-1 serves your team's directory. This Mac isn't in it… with Join and Change…, but it stayed after rejoining through Ask to join until a reload.

  2. ^107

    Choose where it runs

    tested

    This Mac, or a machine that stays on (install Ace there and create it from that machine).

  3. ^108

    Create it on this Mac

    tested

    The host serves /directory on its tailnet address and joins it.

  4. ^109

    Teammates' hosts join on their own

    untested

    A host that has never chosen or left a directory adopts the one named in a peer's hello.

    9 Pair study: the teammate's Mac was already on another, failing directory, so it never adopted this one while the creation dialog said There's nothing to send. and Joins now. The never-chosen case is still untested.

    10 Blocked in the 2026-10-22 pair study: no host that has never chosen a directory; both Macs had chosen and left one, and resetting that means editing Ace's stored settings.

    11 Pair study, Canary 0.0.53.88: the creation dialog again said Joins now for a Mac that had left the directory; it stayed on None yet after Refresh and had to join by hand.

  5. ^110

    Start from Settings or an offline channel

    tested
    Settings → Team → Create directory; offline channel panel
^111

Manage the directory

partial

12 Pair study 2026-10-22: nothing on the serving Mac shows that a teammate joined.

  1. ^112

    See the directory's state

    tested
    Settings → Team → Directory

    None yet, served by this Mac, or the joined URL.

    13 Re-check, Canary 0.0.54.93: with the serving Mac's helper stopped it read Sync failed at 6:58:24 PM: nate16-1, which serves the directory, is offline. Channels stay listed as they were., but says nothing of what to do, a member Mac names the server only in that error, and In the directory kept old sync times with no down mark.

  2. ^113

    Stop serving it

    tested
    Settings → Team → Stop serving…

    Confirms first, naming the shares it deletes (…these shares are deleted, ending the access they give: b-sandbox with iamnbutler@gmail.com.); teammates stop seeing offline hosts' channels.

    14 Teammates who lose a share when it stops still see the owner's host as Offline (rest of githubnext/ace#631, ^104).

  3. ^114

    Refresh

    tested
    Settings → Team → Refresh

    Syncs with the directory now.

  4. ^115

    Change or leave the directory

    tested
    Settings → Team → Change… → Leave

    Leaving counts as a choice, so this host won't auto-join another.

  5. ^116

    See team services

    missing
    Settings → Team → Team services

    Which of Hosted channels, Web app and Cloud compute a deployed directory names.

    15 Pair study, Canary 0.0.53.88: nothing in Settings, Team setup or the CLI mentions team services, not even none for a tailnet directory.

  6. ^901

    See who has joined the directory

    tested
    Settings → Team

    Settings → Team's In the directory lists each joined host with its last sync; Team setup on a member Mac says This Mac is in your team's directory and lists them.

^117

Join a directory by hand

partial
  1. ^118

    Join with a URL or invite link

    tested
    Settings → Team → Join…

    Paste the directory's URL or an invite link; a deployed directory also needs the team secret. Check and join.

    16 Both join forms still ask for an invite link, which a tailnet directory can't make (rest of githubnext/ace#635).

  2. ^119

    Open an invite link

    untested

    Click ace.githubnext.com/join#…; it hands off to ace://join, which fills in the join form.

    17 Blocked in the 2026-10-22 pair study: a tailnet directory makes no invite link (There's nothing to send.), and opening one hands off to the desktop app, which was off limits.

    18 Pair study, Canary 0.0.53.88: Join your team asks for the invite link they sent you though a tailnet directory has none to send.

  3. ^120

    Ask a teammate's host to let you in

    partial

    Ask to join next to a teammate's host; their owner sees "Let <login> join your team?" and approves.

    19 Reachable again through Team setup in the sidebar and Settings → Team (githubnext/ace#578). Asking itself needs a teammate's host that is already in a team.

    20 Re-check, Canary 0.0.54.93: the owner's dialog arrived live (…The request lapses at 7:08 PM.) and Approve confirmed Let iamnbutler in; the asker saw Waiting… with the lapse time, but on approval Team setup just closed with no let you in toast, and a fully quit Ace still can't tell the owner (githubnext/ace#632).

^121

Deployed directory

partial

For teams that deployed a directory before. Needs the team secret.

  1. ^122

    Deploy to Cloudflare from the app

    untested

    Signs in with wrangler, deploys ace-directory-<tailnet>, saves the secret, joins, and shows the URL and secret once.

    21 Team setup → Get your team started → Hosted directory reaches Deploy to Cloudflare again (githubnext/ace#578); no deploy has been run from it.

    22 Canary 0.0.51.85: reached the dialog and Show the command (bun services/deploy.ts cloudflare); not deployed over the existing directory.

  2. ^123

    Deploy to Fly.io from the app

    missing

    23 Reaches the Fly.io command again (githubnext/ace#578); no deploy has been run from it.

    24 Canary 0.0.51.85: the app only shows bun services/deploy.ts fly to run from an Ace checkout, then a join form.

  3. ^124

    Invite a teammate

    untested
    Settings → Team → Invite…

    An invite link and the secret, with "Send it privately." Shown only for a deployed directory.

    25 Canary 0.0.51.85: with a Mac-served directory, Add a teammate shows the tailnet steps and download link, no invite link.

  4. ^125

    Save or remove the team secret

    untested
    Settings → Team → Directory

    ACE_SECRET in the environment overrides Keychain, and the row says so.

    26 Canary 0.0.51.85: Remove… and Directory → Change… reached their confirms; the secret row itself has no Change.

  5. ^126

    Deploy from a checkout

    untested
    bun services/deploy.ts <cloudflare|fly>

    27 Blocked in the 2026-10-22 study: needs an Ace checkout.