mirror of
https://github.com/dartdavros/chatballs.git
synced 2026-10-05 09:14:58 +03:00
Клиент опрашивал сервер: список раз в четыре секунды, карточку и дельту истории — раз в три; на оператора выходило под сорок запросов в минуту, и новое сообщение всё равно появлялось с задержкой. - WebSocket-канал организации (channels уже стоял ради сигналинга звонков): аутентификация — сессией того же SPA, организация — в адресе, как в HTTP; - событие несёт только повод обновиться, данные клиент забирает обычным запросом: проверка видимости остаётся в одном месте, и канал не может в ней ошибиться. Событие инбокса не содержит идентификаторов — сотрудник видит не все диалоги организации; на события диалога подписка отдельная, и сервер проверяет видимость перед ней; - события шлют те же сигналы, что держат свежесть диалога: одно место на семь мест создания сообщений и на все изменения состояния; - опрос остался запасным путём и замедляется до тридцати секунд, пока канал жив: при обрыве всё возвращается к прежнему поведению само. Проверено сквозь шлюз: апгрейд проходит до консьюмера, анонимное соединение отклоняется кодом 403. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>