Skip to content

feat(host): share project IDs between hosts and the app - #334

Merged
iamnbutler merged 3 commits into
mainfrom
lobby-project-id
Oct 15, 2026
Merged

iamnbutler merged 3 commits into
mainfrom
lobby-project-id

Conversation

@iamnbutler

@iamnbutler iamnbutler commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

First of four stacked PRs for project lobbies. Refs #17.

  • Moves projectId, checkoutId, root, and channelProject from apps/app/src/projects.ts into @ace/host/protocol, so hosts can name a project's lobby with exactly the ID the app selects projects by. The app now imports them from there; behavior is unchanged.
  • docs/terms.md gains Person (people are named by GitHub login; the tailnet still authenticates by Tailscale login, and each host converts its own owner's login the same way for avatars and presence), and a Presence section with Here, Away, and Lifecycle event (which includes a run's end). Rebased onto current main.

Stack: this PR → lobby cell → presence and facepiles → lifecycle push.

Built in Ace

No. This was built with Claude Code outside Ace by the overnight watcher, because this Mac's Ace Canary is a participant in the two-person study and can't be used for development tonight. See #5.

Move projectId, checkoutId, root, and channelProject from the app into
@ace/host/protocol so hosts can name a project's lobby with the same ID the
app selects projects by. Define Person, Here, Away, and Lifecycle event in
terms.md ahead of lobbies (#17).

Why: apps/host/src/protocol.ts#projectId | the app's project selections and the lobby name both use this ID; changing it splits a project's lobby and orphans saved selections
@iamnbutler
iamnbutler merged commit e65cd91 into main Oct 15, 2026
1 check passed
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