Связи - интересно но надо дорабатывать

This commit is contained in:
AidarKC
2026-09-10 14:52:20 +03:00
parent d83f1d4cce
commit 849250bfa8
9 changed files with 613 additions and 131 deletions
@@ -131,6 +131,12 @@ dm_dialog_state хранит:
WebSocket push ускоряет отображение, но после переподключения клиент запрашивает
историю у своего единственного access-сервера.
UI-правило для открытого диалога: разделитель «Новые сообщения» относится только к
непрочитанным сообщениям, которые уже существовали до открытия экрана чата. Если новое
входящее сообщение приходит, пока этот диалог уже открыт, клиент просто добавляет его в
текущий поток, не создавая новый разделитель «Новые сообщения»; затем обычный механизм
видимого чтения/receipt отмечает его прочитанным.
## 9. Подтверждения прочтения
Read-receipt создаётся как подписанная пара type=3/type=4 и проходит тот же
@@ -264,6 +264,12 @@ ReadReceiptBody_v1_0
- если подтверждение прочтения приходит в другом порядке, сервер сохраняет максимальный watermark и не откатывает счётчик назад.
- в списке диалогов сервер может отдавать последний signed block как `lastMessageBlobB64` без попытки извлечь plaintext preview.
UI-примечание (байтовый формат не меняет): разделитель «Новые сообщения» создаётся только
для непрочитанного хвоста, который существовал до открытия диалога. Входящий `type=1`,
полученный при уже открытом соответствующем чате, отображается сразу без создания нового
разделителя; это не изменяет signed-контейнер и не вводит нового поля протокола.
## 9. Контент типов `5/6`
Типы: