--- id: TASK-80 title: People online panel — live peer presence on canvas status: Done assignee: [] created_date: '2026-03-03 00:57' labels: - feature - canvas - presence dependencies: [] priority: medium --- ## Description Add real-time people online panel to the canvas showing who's currently viewing the same space. Includes peer announcements, join/leave broadcasts, avatar dots badge, expandable panel, and ping-user relay for "come here" notifications. ## Acceptance Criteria - [ ] #1 People online badge shows in canvas with colored dots - [ ] #2 Panel expands showing usernames and avatars - [ ] #3 Peer join/leave events broadcast in real-time - [ ] #4 Ping button relays viewport coordinates to target peer ## Final Summary Committed pre-existing people online feature: - **community-sync.ts**: Re-announce on reconnect, handle peer-list/joined/left/ping-user events, `setAnnounceData()` API - **presence.ts**: Export `peerIdToColor` helper - **server/index.ts**: Track `peerAnnouncements` map, broadcast peer-joined/left, relay ping-user to target - **canvas.html**: People online badge (bottom-right), expandable panel with avatar dots and ping button Commit: 5ee59f8. Deployed to production.