Files
vesti/openspec/changes/archive/2026-09-16-candidates-read-flag/tasks.md
T

15 lines
1.2 KiB
Markdown

# candidates-read-flag
- [x] Создан OpenSpec change (proposal/design) — `skip_specs: true`
- [x] `openspec validate candidates-read-flag` — чисто
- [x] db/schema.sql: колонка posts.is_read INTEGER DEFAULT 0
- [x] web/app.py: миграция is_read при старте (_migrate, идемпотентно)
- [x] web/app.py: GET /candidates и POST select/bulk: group_by по умолчанию 'date'
- [x] web/app.py: при selected → UPDATE posts SET is_read=1
- [x] candidates.html: непрочитанные — fw-bold, выбранный — active-row (светло-голубая заливка)
- [x] base.html: CSS .list-group-item.active-row (#dcecfc)
- [x] Тест (TestClient): миграция, прочтение при selected, дефолт date, классы карточек
- [x] Перезапуск `sudo systemctl restart vesti-web`
- [x] Ручная проверка в браузере: дата по умолчанию, жирные непрочитанные, голубая заливка выбранного
- [x] Обновить STATUS.md / TODO.md
- [x] Бэкап (крон 2:45 делает сам, вручную НЕ запускать)