1.31.0 — Админка новостей и более частая индексация вебинаров
Версия 1.31.0Главное
Два независимых улучшения, накопившихся с момента релиза 1.30.0:
- В админке появился раздел «Новости» для управления уже импортированными записями.
- Вебинары теперь индексируются не раз в сутки, а каждые 3 часа — добавленные днём вебинары попадают к студентам в тот же день, а не на утро следующего.
Что нового
Админка новостей
Администратор открывает «Админ-панель → Новости» и видит список всех новостей с поиском по заголовку и фильтром «все / только важные / только обычные». На каждой записи можно:
- Снять или поставить пометку «важная», задать срок её действия (
important_until) — это критично если автоматический классификатор ошибся. - Удалить ошибочно импортированную новость (например, дубликат из источника). Если источник её ещё содержит, при следующем парсинге запись может вернуться — об этом предупреждает confirm.
Редактирование текста / заголовка / картинки в этом разделе намеренно не предусмотрено: новости приходят из источников (VK-группа ЧувГУ, RSS, chuvsu.ru), любая ручная правка перезапишется при следующем парсинге.
Этот раздел закрывает класс задач вроде сегодняшней «новость про Dota 2 ошибочно стала важной» — теперь это снимается одной галочкой в админке, не SQL-командой.
Вебинары — индексация раз в 3 часа
Раньше расписание вебинаров пересчитывалось один раз в сутки в 03:00. Если кафедра добавляла вебинар уже после ночного парсинга, push-уведомление «начало через 5 минут» к студентам не приходило — в системе про этот вебинар просто не знали.
Теперь индексация повторяется каждые 3 часа (00, 03, 06, …, 21 МСК). Чтобы повторные запуски не порождали дублирующие push-уведомления (8 раз в сутки про один и тот же вебинар × 70 тыс. студентов × два push-канала — это был бы кратный спам), каждая отложенная задача рассылки теперь дедуплицируется на уровне очереди по уникальному отпечатку вебинара со сроком действия 24 часа. Студент получает ровно одно уведомление, какой бы из восьми запусков sync'а вебинар ни увидел первым.
Что не вошло
Платформенные задачи, которые ведутся параллельно и в этот релиз не попали:
- Push-рассылка «крайней важности» — push + email одновременно, без возможности отключить и с ускоренным разливом для ЧС-сценариев (на паузе до отдельного решения).
- Точечное обновление symfony до версий с патчем 4 свежих CVE от 2026-05-20 (composer-audit падает с allow_failure — отдельный MR с bump'ом версий).
При формировании release notes применялись средства автоматизации