openspec: архив 14 завершённых change-ов (веб-фиксы, crawler-queue, own-content-hub, publisher-service); спеки влиты в openspec/specs

This commit is contained in:
kpa39l
2026-09-16 17:01:00 +00:00
parent 584582a48c
commit 771f6a8276
88 changed files with 1632 additions and 3 deletions
@@ -0,0 +1,34 @@
# 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-источники снова можно добавлять из веб-модерации.
- В таблице виден привязанный канал — легче отлаживать нерабочие источники.
- Никаких изменений БД и БД-миграций — только шаблон.