Обзор: добавление голосовых комнат в стиле Discord в ваше сообщество 🎙

Мы недавно провели внутреннюю встречу по этому плагину, вот что произошло:

LLM-резюме за последние две недели в Resenha

:sparkles: Новые возможности

  • Постоянный чат в комнате — привяжите голосовую комнату к каналу чата Discourse; каждая сессия открывает полноценную тему с реакциями, редактированием и загрузками. После настраиваемого таймаута бездействия создается новая тема.
  • Передача аудио при демонстрации экрана — аудио из вкладок и системы теперь передается вместе с демонстрацией экрана по отдельному потоку, отдельно от микрофона. Учитываются индивидуальные настройки громкости/беззвучного режима/отключения звука для каждого пользователя.
  • Модальное окно настроек звука — выбор устройств ввода/вывода, индикатор уровня микрофона в реальном времени и настройка порога шумоподавления. Настройки сохраняются для каждого устройства и применяются во время звонка без необходимости повторного согласования.
  • Виджет с изменяемым размером — изменение размера перетаскиванием за левый верхний угол, якорь в правом нижнем углу, размер сохраняется. Новое состояние «свернутый» показывает только кнопки «Развернуть» и «Выйти». Видеопотоки корректно отображаются в режиме виджета.

:artist_palette: UX

  • Иконки статуса участников в боковой панели (беззвучный режим/отключение звука/демонстрация экрана/камера/PTT) теперь отображаются вместе на правом краю; анимация звуковой волны появляется над аватаром при разговоре.
  • Голосовые комнаты теперь видны в полноэкранной боковой панели чата.
  • Настройка сайта prioritize_username_in_ux учитывается в видеоплитках и блоке анонимных комнат.
  • Исправлен z-index виджета для мобильных меню; восстановлена кнопка изменения размера SE; кнопке привязки добавлена корректная ariaLabel.

:bug: Исправления

  • Макет видеосетки застревал на полноэкранных размерах после выхода из полноэкранного режима.
  • Счетчики участников в боковой панели изменялись для пользователей, не являющихся участниками (нацеливание трансляции + Redis + очистка на клиенте).
  • Звуковые сигналы не работали на Android (AudioContext теперь возобновляется перед воспроизведением; общий singleton избегает ограничения контекста).
  • Удаленное видео не отображалось, когда peer начинал публикацию после начального рукопожатия.
  • Устаревшее нацеливание трансляции участников.

Если кто-то использует этот плагин, буду рад услышать отзывы о последних изменениях.

7 лайков