42 lines
1.4 KiB
Markdown
42 lines
1.4 KiB
Markdown
# 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
|