feat(voice): голосовой интерфейс на LiveKit (Фаза 3, клиент)
- `livekit-client` подключён как ленивый чанк: SDK грузится только при входе в комнату, стартовый бандл не вырос; - `src/lib/livekit.ts` — единственное место знания о SDK: подключение, дорожки микрофона/камеры/экрана, снимки участников (речь, флаги, качество связи), выбор устройств на лету, разбор exp токена; - `src/stores/voiceConnection.ts` — сессия голоса: статусы idle/connecting/connected/reconnecting/error, продление токена за минуту до истечения с переподключением и повторным применением флагов, серверный мьют и глушение, громкость участников, перемещение, подсказка «говорите с выключенным микрофоном» не чаще раза в 5 с; - UI: состав голосовой комнаты в сайдбаре (речь, флаги, качество), панель комнаты с плитками и модерацией, меню участника (личная громкость, мьют, перемещение), drag&drop между голосовыми комнатами, кнопки панели пользователя управляют реальной сессией, при выключенном голосе — понятная подсказка; - 368 тестов Vitest (было 330), check/lint/test/build зелёные.
This commit is contained in:
@@ -218,10 +218,6 @@
|
||||
"title": "Chat arrives in Phase 2",
|
||||
"body": "The channel “{{name}}” is ready. Messages and voice arrive in the next phase."
|
||||
},
|
||||
"voicePlaceholder": {
|
||||
"title": "Voice channel",
|
||||
"body": "Connecting to voice arrives in the next phases."
|
||||
},
|
||||
"noSelection": {
|
||||
"title": "Pick a channel",
|
||||
"body": "The server and channel lists are on the left. Pick a channel to open it."
|
||||
@@ -775,13 +771,13 @@
|
||||
},
|
||||
"voice": {
|
||||
"title": "Audio & video",
|
||||
"description": "Input and output devices and volume.",
|
||||
"description": "Input and output devices and volume. Changes apply to the current voice room immediately.",
|
||||
"input": "Microphone",
|
||||
"camera": "Camera",
|
||||
"output": "Sound",
|
||||
"micVolume": "Microphone volume",
|
||||
"outputVolume": "Sound volume",
|
||||
"stub": "Voice channels arrive in the next phase — for now these settings are only stored."
|
||||
"stub": "Changes apply immediately and are stored on this device."
|
||||
},
|
||||
"language": {
|
||||
"title": "Language & region",
|
||||
|
||||
Reference in New Issue
Block a user