Что нового в BigBlueButton 3.0.16

В этой версии основное внимание уделяется улучшению производительности серверных компонентов BigBlueButton, в частности, синхронизации данных между клиентами. Также улучшены преобразование презентаций и экспорт слайдов с аннотациями. Устранены и различные ошибки на стороне клиента.

Улучшения производительности бэкэнда

В сервер GraphQL и промежуточное ПО внесены многочисленные улучшения производительности. Новые индексы базы данных повышают производительность запросов GraphQL. Потоковая передача уведомлений и сообщений чата перенесена из Hasura в bbb-graphql-middleware для повышения эффективности. Увеличен интервал повторной выборки данных в Hasura по умолчанию, а также добавлено поле с предварительным заполнением для отслеживания общего количества непрочитанных сообщений чата. Упрощенные представления для текущих подключений пользователей и улучшенная производительность запроса для расчета подключений пользователей также способствуют ускорению работы бэкэнда.

Исправлены ошибки экспорта презентаций и аннотаций.

Улучшена обработка презентаций за счет переработки анализа размеров SVG с использованием ImageMagick identify и чтения текстового содержимого презентаций из локальных файлов вместо URL-адресов страниц. При экспорте аннотаций исправлено обтекание текста, а шрифты обновлены до шрифтов Tldraw v2.

Исправления для HTML5-клиента

Исправлен ряд ошибок на стороне клиента. Среди наиболее заметных исправлений — добавление события, необходимого приложению BBB при демонстрации экрана, реализация звукового оповещения на стороне клиента при включении/выключении звука при активном LiveKit, отображение информации о том, что пользователь оставил звук в списке пользователей и контейнерах камеры, а также исправление ошибки с необновляющимся заголовком контента в боковой панели. Улучшения в работе с интерактивной доской включают добавление возможности ограничения размера стека истории, удаление дублирующихся подписок на аннотации и предотвращение бесполезных вызовов мутаций. Исправлена ​​проблема с отображением количества участников на многопользовательской интерактивной доске. Исправлена ​​панель уведомлений об ошибке, появлявшаяся при удалении презентации. Кроме того, проверка минимальной версии перед загрузкой пакета отображает баннер с ошибкой, если клиент устарел. Добавлена ​​возможность создания только одной комнаты для обсуждений.

Обновления, связанные с плагином.

Логика плагина была переработана для снижения нагрузки на бэкэнд, а уровень логирования для полезной нагрузки, поступающей в канал данных как null, был изменен для уменьшения количества лишней информации.

Упаковка и конфигурация

Внесены изменения в минификатор webpack для сохранения имен классов и функций в целях улучшения отладки. Сервер LiveKit обновлен до версии 1.9.1 (с 1.9.0), а интерфейс командной строки LiveKit — до версии 2.15.7 (с 2.14.0). Исправлена ​​ошибка, препятствующая выводу заданий cron в стандартный поток вывода.

Тестирование и непрерывная интеграция

Добавлены тесты для записи воспроизведения и мониторинга журналов ошибок. Включены тесты для автоматического скрытия панели инструментов интерактивной доски и перетаскивания веб-камер. Система непрерывной интеграции была переработана, чтобы избежать генерации APT-кэша для каждого нового запроса на слияние.