Беклог: перенос четырёх задач из инбокса Tududi

Инбокс Tududi разгружен: четыре открытые задачи проекта оформлены файлами
в docs/backlog и помечены выполненными в Tududi.

- режиссёр в блоке «Распознано как» на странице загрузки (средний);
- карточка информации о торренте вылезает за экран на мобильном (средний);
- сигнал Jellyfin после отката и удаления файлов (средний);
- кнопки выглядят как кнопки: btn-ghost и рассогласование весов (низкий).

Каждая задача проверена по коду: все четыре актуальны, ни одну не закрыли
прошлые коммиты. В телах — точки правки, развилки и нужные дельты спек.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
av
2026-07-15 21:02:22 +03:00
co-authored by Claude Opus 4.8
parent 02d4ecc2aa
commit 3e470e3ae6
5 changed files with 233 additions and 0 deletions
@@ -0,0 +1,56 @@
# Карточка информации о торренте вылезает за границу экрана на мобильном
**Приоритет:** средний
На узком экране блок «Информация о торренте» на `/download/{id}` выталкивает
страницу за вьюпорт — появляется горизонтальный скролл всей страницы.
## Причина
Grid-blowout на `.kv` из-за неразрывного infohash:
- `web/templates/partials/download_main.html:83-86``<dl class="kv">` с
`<dd class="mono">{{.}}</dd>` для каждого инфохэша.
- `web/static/css/jellybit.css:448-451``.kv{grid-template-columns:auto 1fr}`,
у `.kv dd` **нет** `overflow-wrap`/`word-break`/`min-width:0`. Трек `1fr` =
`minmax(auto,1fr)`, его автоминимум = min-content = весь 40-символьный хэш.
Арифметика на 360px: доступно ≈302px, требуется ≈380px (`dt` «infohash» nowrap
≈52px + gap 16px + хэш ≈312px) → переполнение ~78px. `overflow-x:hidden` на
`body`/`html` нигде нет, поэтому блок физически ломает страницу.
Недавние коммиты про ellipsis (`44c5952` — только `.btn-file`) и `.type-ico`
(`3f80d36`) этот блок не трогали.
## Что уже защищено (не виновники)
- `jellybit.css:283-285``.src-full{word-break:break-all}` → magnet уже чинится.
- `jellybit.css:365-366``.table-wrap{overflow-x:auto}` + `table.tbl{min-width:560px}`
→ таблица раскладки скроллится внутри себя. Страницу не ломает, но 560px
принудительного горизонтального скролла на мобильном — отдельная заноза.
- `.fname`/`.link-to` (`:374`, `:378-379`), `.card-title` (`:205`),
`.review-title` (`:298`) — `word-break` есть.
## Развилки
- **(а) точечно:** `.kv dd{overflow-wrap:anywhere;min-width:0}` +
`.kv dd.mono{word-break:break-all}`.
- **(б) в медиа-запросе** перевести `.kv` в одну колонку
(`grid-template-columns:1fr`, `dd{text-align:left}`) — заодно снимает
проблему `dt{white-space:nowrap}`.
Учесть: `.kv` используется **и** в блоке «Распознано как»
(`download_main.html:34-43`) — правка затронет оба, то есть чинится и потенциально
длинный `RecTitle`. Страховку `body{overflow-x:hidden}` как единственную меру не
брать — маскирует, а не лечит.
Мобильных стилей почти нет: единственный `@media (max-width:640px)`
`jellybit.css:477-492` (14 правил), ни `.kv`, ни `.table-wrap` в нём не упомянуты.
## Спеки
`openspec/specs/web-ui/spec.md:237-247` («Блок информации о торренте») требований
к адаптивности не содержит → либо чистый bugfix, либо дельта с требованием
переноса длинных значений.
Связано: [[web-ui-pwa]] (крупная переделка, этот фикс — точечный).