Беклог: груминг трёх задач из Tududi (значок типа, download id code, ревью уведомлений)

Перенос сырых задач проекта jellybit из Tududi в беклог с контекстом и
кросс-ссылками:
- значок типа (фильм/сериал) в списке загрузок;
- download id моноширинным (code) в Telegram — упирается в parse mode + escape;
- зонтичный аудит уведомлений бота.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
av
2026-07-11 09:15:56 +03:00
co-authored by Claude Opus 4.8
parent e8ce828296
commit c4c0c6bb3f
4 changed files with 74 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
# Значок типа (фильм/сериал) в списке загрузок
**Приоритет:** низкий
В строке списка загрузок показывать значок типа контента — 🎬 фильм / 📺 сериал,
как уже делается на экране деталей/ревью и в карточке бота
(`internal/tgbot/render.go:231-233`). Сейчас партиал строки списка
`web/templates/partials/card.html` (define `"card"`) типа не показывает — только
заголовок, ID, дату/размер, статус-бейдж и прогресс.
Что учесть:
- Media type в модели строки списка отсутствует: `downloadView`
(`internal/httpapi/httpapi.go:200`) и `store.Download`
(`internal/store/download.go:175`) его не несут. В detail/review он берётся из
`rd.Plan.Type` (`internal/httpapi/download.go:139`). Каноничный тип —
`recognize.MediaType` (`movie`/`series`).
- Нужно протащить `MediaType`/`IsSeries` в листинг: расширить запрос
`ListDownloadsPage` (сейчас через LEFT JOIN тянет только `rec_title`) и сборку
`buildCardView`, затем добавить значок в `card.html`.
- Тип может быть ещё не распознан (загрузка на раннем шаге) — предусмотреть
отсутствие значка/нейтральный плейсхолдер.
Связано: `internal/httpapi`, `web/templates/partials/card.html`,
[docs/specs/architecture.md](../specs/architecture.md).