Files
vesti/openspec/changes/fix-sources-add-channel/proposal.md
T
kpa39l 8592a82381 fix(sources): поле channel в форме добавления телеграм-источника (fix-sources-add-channel)
Форма добавления не имела поля channel, валидатор требует его для
crawler=telegram → 'telegram-источнику нужен channel'.
Добавлено поле в add-форму (required для telegram через JS), показ channel
в таблице у telegram-источников. Backend не менялся.

web/templates/sources.html ранее отсутствовал в git — добавлен.
2026-09-16 16:37:24 +00:00

34 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# fix-sources-add-channel
Добавление telegram-источника из веб-модерации падало с ошибкой
«telegram-источнику нужен channel», хотя пользователь заполнял slug и название.
## Why
В форме добавления источника (`web/templates/sources.html`) поле `channel`
отсутствовало. `_form_source()` в `web/app.py` читает `channel` из формы,
`_validate_source()` в `sources/sources.py:218` требует его для `crawler=telegram`
— поэтому любой telegram-источник, добавленный через веб, отклонялся,
а rss-источник — нет (feed_url в форме есть).
## What Changes
- **web/templates/sources.html (форма добавления)**: добавлено поле `channel`
с подсказкой «@handle или t.me/... для telegram»; для `crawler=telegram`
становится `required` (маленький inline-скрипт переключает).
- **web/templates/sources.html (таблица)**: у telegram-источников под crawler
показывается `channel` (аналогично feed_url у rss), чтобы было видно,
какой канал привязан.
## Why Not
- Не трогаем backend: `_form_source`, `_validate_source`, `add_or_update_source`
уже корректно работают с полем `channel` — не хватало только UI.
- Не делаем авто-подстановку channel из url — разные форматы
(@handle, t.me/name, https://t.me/s/name), подстановка ненадёжна.
## Impact
- Telegram-источники снова можно добавлять из веб-модерации.
- В таблице виден привязанный канал — легче отлаживать нерабочие источники.
- Никаких изменений БД и БД-миграций — только шаблон.