# Proposal: Add User Presence Tracking **Change ID:** `add-presence-tracking` **Status:** Proposed **Type:** Feature **Priority:** High (MVP) **Target Release:** v0.1.0 ## Summary Implement user presence and status tracking system to show who is online, in which channel, and their mute status in real-time. ## Problem Statement OpenSpeak needs presence tracking where: - Users see who is online/offline in real-time - Users see which channel other users are in - Users see if others are muted (mic/speaker) - Server tracks session lifecycle - Idle users are detected and marked ## Solution Overview Implement presence manager that: - Creates user sessions on connection - Tracks online/offline/idle status - Monitors channel membership - Tracks mute state - Detects idle users (5-minute timeout) - Broadcasts presence events ## Success Criteria - [ ] User sessions created and tracked - [ ] Online user list accurate and real-time - [ ] Channel member presence accurate - [ ] Idle detection works (5-minute timeout) - [ ] Mute status tracked and broadcast - [ ] Presence events reach all clients - [ ] Unit test coverage >80%