В карточке списка и шапке /download/{id} показываем и копируем download.id
(ULID) — тот же ключ, что в логах (download_id), удобно грепать. Infohash
остаётся в блоке «Информация о торренте». Поиск по списку расширен: матчит
любой идентификатор (download.id ИЛИ infohash), плюс название/контекст.
Удалены осиротевшие поля Infohash/InfohashShort и хелпер shortenHash.
Дельта web-ui влита в спеки, change заархивирован.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2.4 KiB
2.4 KiB
Why
Веб-UI показывал в карточках (список + шапка страницы просмотра) infohash с
кнопкой копирования. Но в логах основной ключ загрузки — download_id (ULID),
именно по нему удобно грепать и связывать события; infohash в логах второстепенен.
Пользователю нужно копировать из карточки то, что реально ищется в логах.
What Changes
- В карточке списка и в шапке
/download/{id}показываем и копируемdownload.id(ULID) вместо infohash — как основной идентификатор загрузки. - Infohash остаётся видимым только в блоке «Информация о торренте» (без изменений), где ему место рядом с сырым источником.
- Поиск по списку расширяем: искать можно по любому идентификатору
(
download.idИЛИ infohash), плюс прежние название/контекст. Плейсхолдер строки поиска обновлён.
Capabilities
New Capabilities
Modified Capabilities
web-ui: основной копируемый идентификатор карточек —download.id, а не infohash (Requirement «Клиентские взаимодействия без сборки» и Scenario копирования); поиск по списку матчит любой идентификатор загрузки (Scenario «Серверный фильтр и поиск»).
Impact
- Шаблоны:
web/templates/index.html,web/templates/download.html. - Поиск:
internal/store/list.go(в LIKE-условие добавленdownload.id). - View:
internal/httpapi/httpapi.go,internal/httpapi/download.go(удалены осиротевшие поляInfohash/InfohashShortи хелперshortenHash). - Клиент:
web/static/js/app.js(комментарий — функция копирования теперь про идентификатор загрузки, не только infohash). - Совместимость: чисто презентационно; API-DTO и модель данных не меняются.