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": "Чат появится в Фазе 2",
|
||||
"body": "Комната «{{name}}» уже доступна. Отправка сообщений и голосовые каналы появятся в следующей фазе."
|
||||
},
|
||||
"voicePlaceholder": {
|
||||
"title": "Голосовая комната",
|
||||
"body": "Подключение к голосу появится в следующих фазах."
|
||||
},
|
||||
"noSelection": {
|
||||
"title": "Выберите комнату",
|
||||
"body": "Слева — список серверов и комнат. Выберите комнату, чтобы открыть её."
|
||||
@@ -775,13 +771,13 @@
|
||||
},
|
||||
"voice": {
|
||||
"title": "Аудио-видео",
|
||||
"description": "Устройства ввода и вывода и громкость.",
|
||||
"description": "Устройства ввода и вывода и громкость. Изменения применяются к текущей голосовой комнате сразу.",
|
||||
"input": "Микрофон",
|
||||
"camera": "Камера",
|
||||
"output": "Звук",
|
||||
"micVolume": "Громкость микрофона",
|
||||
"outputVolume": "Громкость звука",
|
||||
"stub": "Голосовые комнаты появятся в следующей фазе — пока настройки только сохраняются."
|
||||
"stub": "Изменения применяются сразу и сохраняются на этом устройстве."
|
||||
},
|
||||
"language": {
|
||||
"title": "Язык и регион",
|
||||
|
||||
Reference in New Issue
Block a user