This commit is contained in:
2026-10-17 16:55:02 +07:00
parent b482e0789a
commit 1051924d6b
+14
View File
@@ -2,6 +2,20 @@
Архив задач, переведённых в статус `DONE`.
### ED-049 — Оптимизировать медиа пакета локальной игры
- Статус: `DONE`
- Цель: уменьшать фото, аудио и видео при подготовке ZIP, сохраняя исходники в хранилище.
- Решение: WebP quality 85, MP3 128 кбит/с, MP4 H.264 CRF 23/AAC 128 кбит/с; фото и видео до 1920 пикселей по длинной стороне без увеличения. PDF и анимации не менять; при ошибке или увеличении веса брать исходник.
- Критерии: корректные ссылки, MIME и хеши, дедупликация, импорт версии 2, отмена и очистка временных файлов. FFmpeg установлен в серверных образах.
- Проверка: табличные тесты с реальным FFmpeg, `go test ./...`, ручное ревью по GO_STANDARD.md, проверка образов и браузерный smoke при доступности среды.
- Ограничения: API, БД, исходники и готовые ZIP не менять; текущие лимиты сохранить; commit/push не выполнять.
- Результат: преобразование выполняется последовательно во временной папке; до двух минут на файл и двух потоков FFmpeg. Сетевые протоколы запрещены; исходники, готовые ZIP и лимиты сохранены. Документация пакета обновлена.
- Проверено: `gofmt`, `go test ./...`, `git diff --check` в затронутых репозиториях — успешно. Diff вручную проверен по GO_STANDARD.md. Табличные тесты с реальным FFmpeg проверяют горизонтальные и вертикальные фото/видео, отсутствие увеличения, прозрачность, длительность, стерео, видео со звуком и без, PDF/GIF/APNG/анимированный WebP, fallback при ошибке/отсутствии утилит/увеличении размера, отмену процесса и очистку временных результатов. Pack/Unpack версии 2 проверяет ссылки и хеши.
- Проверено: собраны оба Docker-образа, доступны ffprobe и кодеки libwebp/libmp3lame/libx264/AAC. Firefox отобразил прозрачные WebP и воспроизвёл MP3/MP4, извлечённые из подготовленного пакета.
- Примеры на синтетических материалах: фото 8 371 804 → 1 265 320 байт; аудио 352 878 → 33 061 байт; видео 1 113 441 → 308 962 байта.
- Не проверено: production и реальные дела; DB-интеграционные тесты без TEST_DATABASE_URL пропущены штатно. FFmpeg увеличивает размер серверного образа; сжатие с потерями может ухудшить различимость мелких деталей. Commit/push не выполнялись; существовавший изменённый backend-бинарник не перезаписывался.
### ED-048 — Очистка локальной площадки
- Статус: `DONE`