SHA256
38 lines
1.8 KiB
Markdown
38 lines
1.8 KiB
Markdown
# TEXT блоки (`type=1`, `version=1`)
|
|
|
|
TEXT-тип хранит сообщения и редактирования.
|
|
|
|
## Подтипы
|
|
|
|
1. `subType=10` — `TEXT_POST`
|
|
- пост в линии канала;
|
|
- содержит line-поля + текст.
|
|
|
|
2. `subType=11` — `TEXT_EDIT_POST`
|
|
- редактирование поста;
|
|
- line-поля + target на оригинальный POST + новый текст.
|
|
|
|
3. `subType=20` — `TEXT_REPLY`
|
|
- ответ на сообщение;
|
|
- target (`toBlockchainName`, `toBlockGlobalNumber`, `toBlockHash32`) + текст.
|
|
|
|
4. `subType=21` — `TEXT_EDIT_REPLY`
|
|
- редактирование ответа;
|
|
- target на исходный REPLY + новый текст.
|
|
- допускается пустой `text` для логического удаления сообщения (без физического удаления блока).
|
|
|
|
5. `subType=30` — `TEXT_REPOST`
|
|
- репост сообщения в линию канала;
|
|
- содержит line-поля + target на оригинальное сообщение + текст комментария;
|
|
- на текущем этапе продуктовой логики репост не редактируется (версии не накапливаются).
|
|
|
|
## Правило для edit
|
|
|
|
`EDIT_POST` и `EDIT_REPLY` должны ссылаться на **оригинальный** блок, а не на предыдущий edit.
|
|
|
|
## Пустой text в edit
|
|
|
|
- Для `TEXT_EDIT_POST` и `TEXT_EDIT_REPLY` допустим `textLen=0`.
|
|
- Такой edit трактуется как логическое удаление содержимого сообщения.
|
|
- Для удаления используется именно edit-блок; отдельного `DELETE`-подтипа нет.
|