# 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%
