Change language

sf-chats

Назначение

Комнаты чата представлены тремя отдельными вкладками: списком комнат, перепиской
в одной комнате и списком участников одной комнаты. Управление участниками комнаты
и чтение их сообщений — это две задачи, поэтому для них предусмотрены две вкладки.

Граница ответственности

Отвечает за навигацию по комнатам, экран переписки и редактирование списка участников.
Сообщения принадлежат rp-threads и считываются непосредственно из браузера; файлы
принадлежат rp-files и передаются через сообщение link.

Как создаётся комната

createRoom в rp-chats создаёт идентификатор комнаты и идентификатор ветки, а также
записывает создателя из токена как owner; затем этот интерфейс регистрирует ветку в
rp-threads. rp-chats никогда не вызывает другой репозиторий.

Обновления в реальном времени

Новое сообщение публикуется для каждого участника по имени через pushrouter Fujin,
а не для всего арендатора: существование приватной комнаты не является публичным,
даже если её содержимое остаётся защищённым предикатом чтения. Уведомление содержит
только идентификаторы.

Прямые зависимости модуля

  • effector, front-core, g-chats, g-threads, signal-channel, threads-state

Членство в решении

  • communications

Исходный код

modules/surfaces/communications/sf-chats