# Форма приёма: длинное имя .torrent-файла ломает верстку add-row

**Приоритет:** низкий · **Теги:** web-ui, ingest

При выборе `.torrent`-файла с длинным именем (типичный релиз с трекера, напр.
«Бухта вдов Widow's Bay Сезон 1 Серии 1-10 из 10 (Хиро Мурай) [2026, США, …,
WEB-DL 1080p] 7 x MVO (HDr [rutracker-6869937].torrent») кнопка-лейбл файл-пикера
раздувается на всю ширину и ломает раскладку строки добавления: поле `source`
сжимается/прячется, «Добавить» уезжает.

Причина: onchange пишет полное `files[0].name` в `[data-file-label]`
(`web/templates/index.html:26-30`), а у `.btn-file` нет ограничения ширины
(`web/static/css/jellybit.css:194` — только цвет). В `.add-row`
(`display:flex`, `.input{flex:1}`) лейбл распирается по контенту и съедает строку.

Фикс (косметика, без домена):
- CSS `.btn-file`: `max-width` + `overflow:hidden; text-overflow:ellipsis;
  white-space:nowrap` — имя усекается многоточием, а не растягивает строку.
- Опц.: показывать базовое имя без `.torrent` и класть полное в `title`
  (тултип). Полное имя всё равно уходит на сабмит через сам file-input
  (`header.Filename`), правка чисто визуальная.

Смежное (проверить заодно, не обязательно тем же фиксом): на приёме `source_ref`
выводится из имени раздачи/файла и может быть очень длинным. В списке/карточке он
усечён (`shorten(oneLine(d.SourceRef), 120)` — `internal/httpapi/download.go:67`),
так что отображение ок; убедиться лишь, что нет жёсткого лимита колонки в БД,
роняющего сам приём длинного имени.

Связано: `openspec/specs/ingest`, `openspec/specs/web-ui`, пакет `httpapi`,
конвенция [web-ui](../conventions/web-ui.md).
