Commit Graph

7 Commits

Author SHA1 Message Date
kpa39l 582dc3cf66 rss-formatting-preserve: сохранять абзацы и разметку из RSS (html_to_text/extract_full_text normalize; safe_html bleach для предпросмотра; пересборка старых постов) 2026-09-15 18:53:57 +00:00
kpa39l ae8af8de9c feat(candidates): список отобранных между кандидатами и опубликованными
- новый статус selected; в кандидатах только «⭐ Отобрать» (single+bulk)
- /selected — отдельный список: вся обработка (классификация/переписывание/комментарий/публикация)
- классификация только по кнопке (токены на кандидатов не тратятся)
- рядом с оригиналом — поле «✍️ Мой пост» (rewritten_text всегда виден), туда ложится черновик «Переписать»
- все обработчики учитывают src (candidates|selected) для редиректов
2026-09-15 17:37:11 +00:00
kpa39l c09dff08ac feat(candidates): флаг прочитанности (is_read), жирные непрочитанные, голубая заливка выбранного, дефолтная группировка по дате 2026-09-15 16:42:55 +00:00
kpa39l f890ad71f1 fix(web): статус группы при группировке по дате + published-страница
- _fetch_candidates: статус группы = доминирующий (new>rejected>published),
  а не первого поста → при group_by=date группа «Ранее на этой неделе»
  больше не выглядит опубликованной (openchange fix-date-group-status)
- base.html: padding-top 1.5rem→4.5rem — заголовок не перекрывается fixed-top меню
- published.html: ID поста на карточках (#N · направление)
- AGENT.MD: бэкапы автоматические по крону, вручную не запускать
2026-09-14 04:39:08 +00:00
kpa39l c66eded7bf candidates: visible native checkboxes + tiny JS counter
- checkbox: form-check-input (Bootstrap) rendered invisible outside
  .form-check -> native checkbox with explicit width/height
- tiny JS: badge #sel-count updates on change of any #bulk-form checkbox
- base.html: added {% block scripts %}
- verified: render (200 checkboxes), JS counter logic (node), service restarted
2026-09-13 21:07:14 +00:00
kpa39l 0e487f672a candidates UI: full width, action and bulk buttons
- base.html: container -> container-fluid (nav and content full width)
- Right pane: large buttons Publish / Process with local model /
  Rewrite / Reject (for new candidates)
- Left pane bottom: bulk operations panel with 4 visible buttons
  (Publish / Process / Reject / Stale) instead of hidden select
- bulk: action 'process' reclassifies selected with local model
  (impl_reclassify extracted); ids optional (empty selection ->
  no_selection redirect instead of 422); redirect preserves filters
- Tests: full width, buttons present, bulk empty/process, published/metrics — green
2026-09-13 21:01:30 +00:00
kpa39l c3f59f7b7a Initial import: vesti.nixg.ru — новостной апрув-проект (web, crawler, classifier, publisher, openspec) 2026-09-13 15:58:32 +00:00