githubnext/ace2Public

Ace: a collaborative coding environment on the team's own machines

feat(app): group projects by repository with teammate channel sections #157

Mergediamnbutlermerged 2 commits intomainfromrefs/pull/157/head
  1. IA

    Part of #15 (tracked by #58); a dogfooding gap from #5.

    **Behavior** - Projects with a GitHub remote are identified by repository, compared case-insensitively, so all their checkouts form one project. Other Git folders stay identified by host and checkout. Client navigation only. - Creating channels and **Archive inactive** use this host's first known checkout. Projects checked out only on teammates' hosts name those hosts and can't start channels here. Cmd+O only adds a project. - Sidebar order: **Channels** (mine), each teammate's section with a folded `<name> · Archived` section, then my **Inactive** and **Archived**. Delete is offered only for this host's rows. - All Projects shows one section per project. Old saved selections, Dashboard drafts, and Issues/PRs filters keep working.

    **Validation** - `bun types`, `bun run ci`, and React Doctor pass (only the `App` complexity warning, which already exists and is now lower). - `bun desktop build dev` builds; the app wasn't launched. - Headless Chromium drove the real app on an isolated source host with real clones `githubnext/ace2` and `GitHubNext/ACE2`: - Open/Cmd+O added projects without creating channels. - Channels were created in the first checkout. - The picker and All Projects showed one ace2 project. - Old `[host, path]` selections reopened the expected channels. - Drafts and Closed filters survived a reload. - Archive and delete worked. - With only the browser clock set 7h ahead (no real aging, host listings unchanged, no peer), Inactive folded and Archive inactive archived only the first checkout. - Disposable data only; no page errors; processes and ports cleaned up.

    **Limitations** - Native UI isn't validated: the macOS session is locked. - No second person or host is available; that check is deferred to tomorrow (#10). - Two clones on one host: channels go to the first, and Archive inactive skips the other's. - Non-Git folders can't start channels; this was already the case (#162).

    ### Built in Ace

    Implementation, checks, build, browser validation, and GitHub updates were done in an Ace channel. Outside Ace: - **Coordination and review:** Codex coordinated the work and reviewed the code and PR (#9, #108, #52). - **Browser:** an ad-hoc Playwright script stood in for Ace browser tooling (#50). - **Screenshots:** Codex viewed the screenshots because the channel's `read` rejects PNGs (#51).

  2. iamnbutlerreferenced this in Verify repository-based project identity in the native app and across two hosts #15last month on GitHub

  3. iamnbutlerreferenced this in [Meta] Dogfood Ace end to end #5last month on GitHub

  4. iamnbutlerconvert-to-draftlast month on GitHub

  5. iamnbutlerreferenced this in Opening a non-Git folder adds a project that cannot start channels #162last month on GitHub

  6. iamnbutlerreferenced this in Let native agents inspect image files by path #51last month on GitHub

  7. iamnbutlerreferenced this in Archive inactive archives every idle channel, not only those shown as Inactive #164last month on GitHub

  8. iamnbutlerreferenced this in Show and change collaborator agent invocation in the app #158last month on GitHub

  9. iamnbutlerready-for-reviewlast month on GitHub

  10. iamnbutlermerged 1cc3f9071257last month on GitHub

  11. iamnbutlerclosedlast month on GitHub

  12. iamnbutlerreferenced this in Finish native window, menu, and dialog workflows #73last month on GitHub

  13. iamnbutlerreferenced this in [Meta] Extend work across hosts and devices #58last month on GitHub

  14. iamnbutlerreferenced this in Verify Ace with two machines on the tailnet #10last month on GitHub

  15. iamnbutlerreferenced this in Set up a GitHub project's checkout on this machine from channel creation #204last month on GitHub

  16. iamnbutlerreferenced this in feat(app): set up a GitHub project's checkout on this machine before creating channels #205last month on GitHub