Show GitHub profile avatars for participants
iamnbutler opened ·
GitHub profile avatars don't show anywhere in the desktop UI. The account menu in the nav footer and the avatars beside human messages in the timeline both show initials instead.
## Cause
Ace identifies people by their Tailscale login (`catalog.user` in `apps/host/src/catalog.ts`), such as `someone@gmail.com`, and never resolves a GitHub login for them. The UI components can already render GitHub avatars, but the app gives them nothing to render:
- `apps/app/src/navigation.tsx` renders `<UserMenu name={user} />` without `handle`, so `UserMenu` never builds `format.avatar(handle)`. - `apps/app/src/conversation.tsx` renders `<Timeline>` without `avatars`, so `timeline.tsx` finds no `src` for a message group. `toEvents` in `apps/app/src/timeline.ts` also sets the display name to the part of the email before the `@`, which isn't necessarily a GitHub login.
## Expected
- The host resolves its owner's GitHub login (it already uses `gh`, see `apps/host/src/github.ts`) and gives it to clients. - The account menu shows the owner's GitHub avatar. - Timeline messages show each author's GitHub avatar, including teammates on other hosts. That means hosts publish their GitHub login together with their Tailscale login (`apps/host/src/directory.ts`), so other clients can map a message author to an avatar. - When a host has no signed-in `gh`, Ace keeps showing initials.
Part of #5.
iamnbutlerparent-issue-addedlast month on GitHub
iamnbutlerreferenced this in [Meta] Dogfood Ace end to end #5last month on GitHub
iamnbutlerreferenced this in feat(host): show GitHub avatars for participants #116last month on GitHub