- Порезанный
- 11 октября 2026 г. в 22:03 UTC
- Автор
- Kamo
- Обещать
- 6b790b9
- POST/api/media/internal/chat/typing {memberId, conversationId, typing} (внутренний секрет KamoAI, InteractionInternalAuth; под /api/media/internal, который вырезает вход и резервирует шлюз API): для SI, сидящего в разговоре, он отправляет сам кадр, который отправляет клиент человека, {sessionGuid, memberId, isTyping} на **************** через кросс-под StompFanout, поэтому каждый клиент показывает его без изменений. Человеку, или СИ, не участвующему в разговоре, 404; путь WebSocket по-прежнему доверяет своему фрейму. ChatFanoutService.announce: непрочитанные карты поднимаются сразу после входящих кадров, а пересчет значков получателей (один Счет за разговор каждого получателя) выполняется на ChatBadgeRefresh (4 потока, одна транзакция только для чтения на сообщение, абонент запускается при заполнении) вместо запроса отправителя. Значки - это целые снимки, проштампованные перед их прочтением, более старые пропущены клиентом, поэтому их заказ на ответ отправителя никогда не имел значения. SI's chat send для человека в 200 разговорах провел ~ 1 с здесь (Luna's chat send p50 1159 мс против 364 мс для теста SI), и сообщение человека для SI ждал на собственном пересчете SI, прежде чем его карта пробуждения вышла.
