SHiNE-server/Dev_Docs/05_Open_Questions_and_TODO.md

2.0 KiB
Raw Blame History

Открытые вопросы и TODO для согласования

Критичные вопросы

  1. Единая нумерация subType

    • Подтверждаем ли окончательно новую схему (POST=10, REPLY=20...) во всех модулях (db, triggers, dao)?
  2. Что считаем “сообщением канала” для counters

    • Только TEXT_POST?
    • Или ещё TEXT_EDIT_POST и/или REPLY в этом же line?
  3. Что такое “прочитано”

    • По this_line_number?
    • По block_number?
    • По времени?
  4. Личные и публичные каналы

    • Явно вводим channelType в API?
    • Нужны ли отдельные private/dm каналы в MVP?
  5. Уведомления (лайк/reply/follow/friend)

    • Делаем сначала виртуальный канал (query-time), потом материализацию?

Технический TODO (рекомендуемый порядок)

  1. Унифицировать MsgSubType между модулями.
  2. Добавить DAO для выборки каналов с counters.
  3. Добавить read-api handlers (3-4 операции, описанные в 04 документе).
  4. Добавить integration tests:
    • подписка -> counters;
    • read progress -> newMessages;
    • thread graph на 100+ ответов.
  5. Добавить индекс(ы) под новые query-паттерны (по line_code, to_*, msg_type/subtype).

Дополнительные идеи

  • Для GetMessageThreadGraph можно вводить режимы:
    • full (все ответы)
    • compact (первые N + hasMore)
  • Для клиентской синхронизации можно добавить syncToken (версия снимка данных), чтобы отличать повторный ответ от изменений после запроса.