SHA256
НЕ ПРОВЕРЕНО: откат DM-вложений, оставлены ревизии и удаление
This commit is contained in:
@@ -1,19 +1,18 @@
|
||||
# DM-вложения, upload и ревизии сообщений
|
||||
# Ревизии и удаление личных сообщений
|
||||
|
||||
- краткое описание фичи:
|
||||
Добавлен новый формат контентных DM `SHiNE_DM`, HTTP upload/download ciphertext-файлов, серверный `upsert` последней версии сообщения и UI-скачивание/расшифровка вложений.
|
||||
Добавлен новый формат контентных DM `SHiNE_DM` без вложений, серверный `upsert` последней версии сообщения, редактирование через `revisionTimeMs` и удаление пустой ревизией.
|
||||
|
||||
- что проверять:
|
||||
1. Отправка обычного текста без вложений.
|
||||
2. Отправка сообщения с 1-2 вложениями.
|
||||
3. Повторная отправка сообщения с уже загруженным файлом без повторной записи blob.
|
||||
4. Скачивание вложения из UI и корректная расшифровка файла.
|
||||
5. Доставка backlog после переподключения сессии.
|
||||
6. Обновление существующего сообщения той же парой `timeMs+nonce` и большим `revisionTimeMs`.
|
||||
7. Удаление сообщения пустой ревизией (`attachments=0`, `encryptedBodyLen=0`) и исчезновение из UI.
|
||||
2. Повторная отправка того же логического сообщения с тем же `timeMs + nonce`, но большим `revisionTimeMs`.
|
||||
3. Обновление текста у уже существующего сообщения в UI без появления нового пузыря.
|
||||
4. Игнорирование более старой ревизии на сервере.
|
||||
5. Удаление сообщения пустой ревизией (`attachmentsCount = 0`, `encryptedBodyLen = 0`) и исчезновение из UI.
|
||||
6. Доставка backlog после переподключения сессии для последней версии сообщения.
|
||||
|
||||
- ожидаемый результат:
|
||||
Сообщения `type=1/2` приходят в формате `SHiNE_DM`, файлы доступны по `/f/<hash>`, UI показывает вложения кнопками скачивания, сервер хранит только последнюю ревизию по `messageKey`, а пустая ревизия убирает сообщение из интерфейса.
|
||||
Контентные сообщения `type=1/2` приходят в формате `SHiNE_DM`, сервер хранит только последнюю ревизию по `messageKey`, более старая ревизия не перетирает новую, а пустая ревизия убирает сообщение из интерфейса.
|
||||
|
||||
- статус:
|
||||
pending
|
||||
|
||||
Reference in New Issue
Block a user