Добавил документ для разработчиков (про сессии но не закончил) и исправил мекую ошибку с несопостовлениеминдексов
37 lines
1.7 KiB
Markdown
37 lines
1.7 KiB
Markdown
# Открытые вопросы и TODO для согласования
|
||
|
||
## Критичные вопросы
|
||
|
||
1. **Что считаем “сообщением канала” для counters**
|
||
- Только `TEXT_POST`?
|
||
- Или ещё `TEXT_EDIT_POST` и/или `REPLY` в этом же line?
|
||
|
||
2. **Что такое “прочитано”**
|
||
- По `this_line_number`?
|
||
- По `block_number`?
|
||
- По времени?
|
||
|
||
3. **Личные и публичные каналы**
|
||
- Явно вводим `channelType` в API?
|
||
- Нужны ли отдельные private/dm каналы в MVP?
|
||
|
||
4. **Уведомления (лайк/reply/follow/friend)**
|
||
- Делаем сначала виртуальный канал (query-time), потом материализацию?
|
||
|
||
## Технический TODO (рекомендуемый порядок)
|
||
|
||
1. Добавить DAO для выборки каналов с counters.
|
||
2. Добавить read-api handlers (3-4 операции, описанные в 04 документе).
|
||
3. Добавить integration tests:
|
||
- подписка -> counters;
|
||
- read progress -> newMessages;
|
||
- thread graph на 100+ ответов.
|
||
4. Добавить индекс(ы) под новые query-паттерны (по `line_code`, `to_*`, `msg_type/subtype`).
|
||
|
||
## Дополнительные идеи
|
||
|
||
- Для `GetMessageThreadGraph` можно вводить режимы:
|
||
- `full` (все ответы)
|
||
- `compact` (первые N + hasMore)
|
||
- Для клиентской синхронизации можно добавить `syncToken` (версия снимка данных), чтобы отличать повторный ответ от изменений после запроса.
|