This commit is contained in:
2026-10-17 16:00:33 +07:00
parent 3efcc9bb6a
commit 3824cd7c5f
3 changed files with 25 additions and 2 deletions
+14
View File
@@ -2,6 +2,20 @@
Архив задач, переведённых в статус `DONE`.
### ED-047 — Сброс локального режима и повторная подготовка пакета
- Статус: `DONE`
- Репозитории: `evening_detective_server`, `evening_detective_frontend`.
- Цель: вернуть игру на prod из локального режима с подтверждением без загрузки результатов; разрешить новый пакет при любом статусе игры и экспорта.
- Решение: сохранять готовые экспорты для последующей загрузки результатов; новый пакет — актуальная подготовка к игре с нуля, без изменения исходного прогресса. Отменять устаревшую незавершённую подготовку.
- Критерии: подтверждение/отмена, исчезновение отметок и подсказки игроку, защита от устаревшего сброса, новый пакет для всех статусов и форматов, старые результаты принимаются.
- Проверка: PostgreSQL-тесты экспорта/возврата и миграции, `go test ./...`, генерация API, type-check, оба линтера, сборка фронтенда, браузерный smoke, ревью стандартов.
- Ограничения: без экспорта из venue, переноса прогресса, автоматической замены импортированной игры, commit/push.
- Результат: добавлены RPC/REST сброса с ожидаемым ID экспорта, модальное подтверждение и блокировка повторной отправки. Снятие режима сохраняется в `released_at`; карточка, страница управления и подсказка игрока обновляются через существующее чтение. Готовые архивы доступны для поздних результатов; незавершённые попытки отменяются с fencing worker-а. Каждая подготовка создаёт новый снимок при любом статусе/формате игры; пакет нормализуется в черновик без прогресса. Обновлены protobuf-клиенты, README и тестовые схемы.
- Проверено: `make generate`, `npm run proto:gen`, `go test ./...` с отдельным PostgreSQL на порту 55447, `go test -race ./internal/repos/game_exports_repo ./internal/services/game_export_service`, `npm run type-check`, `npm run lint`, `npm run lint:css`, `npm run build`, `git diff --check` — успешно. Миграция проверена вперёд/назад; откат с несовместимой историей готовых пакетов отказывает без потери данных. Diff вручную проверен по обоим стандартам; новые тесты используют публичные методы сервисов/репозиториев.
- Браузерный smoke Firefox с тестовым API: desktop/mobile, подтверждение/отмена, ошибка/повтор, блокировка кнопок, сохранение сброса после перезагрузки, новая подготовка для всех статусов игры и экспорта, список игр и обновление подсказки игрока поллингом, скрытие операций в venue — успешно. PostgreSQL-тесты подтверждают реальный импорт черновика, неизменность исходной игры, поздние результаты и конкуренцию сброса/замены/возврата.
- Не проверено: развёртывание и ручной сценарий на рабочей площадке. Перед запуском нового backend требуется миграция `20261017120000_release_game_exports.sql`. Commit/push не выполнялись.
### ED-046 — Подсказка игроку о локальной сети
- Статус: `DONE`