Просьба с эксплуатации: после «Обновить сейчас» непонятно, подхватились ли
правки таблицы. Теперь кэш считает sha256 скачанного файла и сравнивает с
предыдущим чтением:
- в логе: «Расписание загружено: N групп …; файл изменился/не изменился
(sha256 ab12cd34)»;
- состояние для админки дополнено полями changed / changed_at / content_hash;
- в панели чипы «Файл при последнем обновлении», «Содержимое менялось»,
«sha256 файла», а после кнопки — понятное сообщение: «обнаружены изменения»
либо «файл не изменился (на Диске та же версия)» с подсказкой про задержку
публикации у Яндекса;
- ответы API отдаются с Cache-Control: no-store, чтобы браузер не показывал
закэшированные данные после обновления;
- запросы к Яндекс.Диску идут с no-cache заголовками и меткой времени —
меньше шансов получить закэшированную версию файла.
Тест: test_state_reports_file_changes (первая загрузка, изменение файла,
повторное чтение без изменений).