diff --git a/doc/tasks.md b/doc/tasks.md index 18101458..789af648 100644 --- a/doc/tasks.md +++ b/doc/tasks.md @@ -3,18 +3,20 @@ Сюда пишется список задач с короткой аннотацией. Если задача большая и имеет ТЗ - то ТЗ оформляется отдельным файлом, а сюда помещается аннотация и ссылка на ТЗ. ## Текущая задача -[ ] **Голосования, опросы и реакции в чате** — 06.10.2026, копия `/home/user/utun3`, ветка `feature/chat-feedback`: +[+] **Голосования, опросы и реакции в чате** — 06.10.2026, копия `/home/user/utun3`, ветка `feature/chat-feedback`: реализован базовый слой `src/chat/chat_feedback.c/h`: таблица каждого канала, подписи участников, независимые ver для ответа и реакции, сохраняемая отмена, детерминированный конфликт ver, атомарное применение страниц и восстановление индекса. Merkle v3 разделяет MEMBERS/FEEDBACK, курсор записи — 32 байта. - `./check.sh`: 130 passed, 0 failed, 1 skipped; proxy/full, burst и load также PASS. + Итоговый `./check.sh`: 132 passed, 0 failed, 1 skipped; proxy/full, burst и load также PASS. + Чистые сборки desktop и Android assembleDebug прошли; 7 Qt-тестов — PASS. Подключены message_id к БД/API, общий каталог 16 эмодзи, канонические форматы poll/answer/reactions, single/multiple, allow_custom_answer, подсчёт результатов, отложенное получение опроса, CLI, desktop и Android. Собраны desktop и Android APK. Сетевой тест A ↔ B ↔ C прошёл, включая restart C и сохранение отмены. Исправлен запуск начального member_sync после restart чата поверх уже UP-транспорта. - Осталось: финальная чистая сборка актуальных приложений и общий check.sh. + Реализация и финальная проверка завершены. APK: app/build/outputs/apk/debug/app-debug.apk + внутри tools/chatgui-android; desktop: tools/chatgui/build/vibechat. План продолжения: 1. Сохранить индексируемый message_id в msg_, вернуть его через API сообщений. 2. Добавить общий каталог эмодзи и канонические кодеки poll/answer/reactions; @@ -24,14 +26,15 @@ 4. Подключить единый командный API к CLI, desktop и Android; команды выполняются в uasync. 5. Прогнать проверки кодеков и сетевые сценарии, собрать интерфейсы и выполнить check.sh. -[ ] **tcp_proxy_full: проверить аномальные значения elapsed в отчёте** — 06.10.2026: +[+] **tcp_proxy_full: проверить аномальные значения elapsed в отчёте** — 06.10.2026: `/tmp/utun3-check.log` при успешной передаче показывает длительности вроде `basic_1mb: 161949390ms` и `concurrent_20: -1612179507375916304ms`. В `tests/tcp_proxy_full/run_test.sh` длительность считается через `date +%s%3N`; проверить фактический формат времени и арифметику в окружении запуска. Причина установлена: date +%s%3N в окружении отдаёт 19 цифр наносекунд вместо миллисекунд. run_test.sh переведён на Python time.monotonic_ns() // 1000000. - Осталось подтвердить длительности финальным интеграционным прогоном. + Подтверждено финальным check.sh: basic_1mb 179ms, concurrent_20 326ms, idle 1080ms; + все результаты передачи и проверки байтов — PASS. Лог: /tmp/utun3-polls-check.log. [ ] **rlottie: разбор предупреждений GCC 15 в импортированных исходниках** — 05.10.2026: при сборке `tools/chatgui/rlottie_src` GCC сообщает `-Wuninitialized` в