# Software Requirements Specification ## Product ReTeamSpeak is a desktop TeamSpeak 3 client for Windows, Linux, and macOS. ## Current Functional Scope ### Implemented - Connect to a TeamSpeak server with nickname and optional password - Observe live server, channel, and client state - Join channels - Send and receive channel text messages - Show connected clients and channels - Toggle microphone mute and sync state to TeamSpeak - Toggle speaker/output mute and sync state to TeamSpeak - Toggle output hardware state and sync state to TeamSpeak - Toggle AFK state and sync state to TeamSpeak - Select audio input and output devices - Support push-to-talk and continuous talk modes - Import an existing TeamSpeak identity from local client config - Select a noise-cancellation method in settings ### Partially Implemented / Stubbed - ServerQuery page exists, but query execution is stubbed - Bookmark management exists only in local in-memory UI state ### Not In Scope Right Now - Tauri frontend/backend shell - Custom in-repo TeamSpeak protocol implementation - Separate in-repo database layer - Mobile and web targets ## Non-Functional Requirements - Use `tsclientlib` for TeamSpeak compatibility instead of custom protocol code - Keep the shipped desktop app codebase small and maintainable - Prefer Podman-based reproducible builds when host system packages are missing