diff --git a/doc/tasks.md b/doc/tasks.md index 7be13ae6..c7d71272 100644 --- a/doc/tasks.md +++ b/doc/tasks.md @@ -3,6 +3,22 @@ Сюда пишется список задач с короткой аннотацией. Если задача большая и имеет ТЗ - то ТЗ оформляется отдельным файлом, а сюда помещается аннотация и ссылка на ТЗ. ## Текущая задача +[+] **История группы после PM-приглашения** — 04.10.2026: регистрация `db_sync` + создаёт локальное состояние с блокировкой обмена; история запускается после + успешного member_sync через READY-пиров конкретной группы. Подписка на переходы + READY сбрасывает обмен при DOWN/REINIT/LEAVE и возобновляет его при восстановлении. + Обе роли имеют 15-секундный таймаут; ошибки отправки и отказ пира разрешают повтор. + JOIN_INFO_RESP применяет участника через транзакционный member_sync, обновляя + Merkle-индекс вместе с моделью. ASAN также выявил и помог исправить использование + временного content_type после выхода из области видимости при выдаче JSON истории. + Проверены пять сообщений до приглашения, оба порядка ID, потеря первого обмена, + восстановление READY на общем транспорте и последующая доставка новых сообщений. + Эти сценарии, ownership и services прошли под ASAN. На Q8 после обновления + существующий `g2` получил все 5 старых сообщений без повторного JOIN; + SYNC_DONE подтвердил совпадение хеша, SQLite quick_check — ok. + Диагностика: `/tmp/pm-history-q8-after.log`, `/tmp/pm-history-asan-invite.log`, + `/tmp/pm-history-asan-timeout.log`. Контракт: `src/chat/db_sync_arch.md`. + [+] **Android: диагностика несрабатывания VAD** — 03.10.2026: в `debug` добавлены решения по каждому изменению состояния и сводки PCM/AGC/модели раз в секунду; `debug=trace` показывает каждое окно 32мс. Логи различают сброс подтверждения,