Bedrud Документация

Чат в комнате — боковая панель для текста, реакций, опросов и изображений без выхода из звонка.

Открытие и отправка

  1. Откройте панель chat из контролов встречи.
  2. Отправьте текстовое сообщение — другие участники его получат.
  3. Открытие или закрытие панели не должно убивать tracks камеры или микрофона.

Группировка сообщений и метки времени должны выглядеть корректно даже при burst-отправке.

Emoji

  • Реакция на сообщение — обе стороны обновляют счётчики реакций.
  • Emoji picker в композере вставляет emoji в черновик.

Опросы

  1. Создайте poll из чата.
  2. Все видят bubble опроса.
  3. Участники голосуют; результаты обновляются (модалка результатов, если UI её даёт).

Изображения и файлы

  • Прикрепите изображение в пределах серверных лимитов размера и размеров в пикселях.
  • Клиент встречи заранее проверяет размер файла и габариты изображения по публичным настройкам (chatUploadMaxBytes, chatUploadMaxDimension).
  • Слишком большие файлы или габариты отклоняются с понятной ошибкой (сначала клиент; сервер остаётся источником истины — 413 / 400 на POST /api/room/:roomId/chat/upload).
  • Получатели могут открыть изображения в lightbox.

По умолчанию: 10 MiB на файл, макс. 8192×8192 (если не задано).

Операторы задают лимиты через:

  • chat.uploads.maxBytes / chat.uploads.maxDimension в конфигурации
  • вкладку админа Chat Uploads (chatUploadMaxBytes, chatUploadMaxDimension) в админ-панели
  • квоты хранилища на пользователя / глобальные в chat (maxUploadBytesPerUser, бэкенды disk/S3)

Retention (client-side)

LiveKit не хранит data-channel чат на сервере как отдельный chat-продукт. Bedrud применяет client-side подсказки retention:

НастройкаПо умолчанию (типично)Смысл
chat.maxMessageCount10000Потолок сообщений в памяти / session storage
chat.messageTTLHours2160 (90 дней)Обрезка по возрасту

Env overrides: CHAT_MAX_MESSAGE_COUNT, CHAT_MESSAGE_TTL_HOURS.

После перезагрузки mid-room история следует этой product-политике (restore сессии или чистый старт) без краша.

См. также