5.3 KiB
Проверка влияния, хронологии и RSS
12 октября 2026, Europe/Minsk. Проверен проект /Users/xtimms/Projects/ridebus-status.
Результат
- Описание влияния в карточках и подробностях сервиса: различаются проблемы загрузки страницы и сценария данных. Альтернативные сервисы предлагаются только при текущем рабочем статусе; сохранённое расписание описано как возможный вариант с оговоркой об актуальности.
- Хронология сохраняет исходное сообщение, автоматическое обнаружение, сообщения команды и восстановление. После закрытия доступен отдельный разбор
postmortem; время восстановления не меняется. Автоматический инцидент закрывается по результатам мониторинга. - RSS 2.0: выбор RU/EN, сервисов и типов событий, копирование ссылки, постоянные GUID, общие сообщения, отдельные события обслуживания. Лента не содержит демонстрацию и не хранит базу подписчиков.
- Старая SQLite мигрирует без удаления истории и выдуманных промежуточных стадий. Перед миграцией сохранён локальный backup
data/status.before-public-updates.sqlite.
Проверки
npm test: 43/43, без пропусков, включая настоящий Chromium. Новые проверки охватывают источники событий и стадии, разбор после закрытия, запрет принудительного закрытия автоматического инцидента, миграцию при повторном запуске, RSS-фильтры, стабильность GUID, экранирование и HTTP-маршрут.npm run build: TypeScript и production-сборка успешны.- RSS дополнительно разобран XML-парсером Python; проверены уникальные GUID. HTML-парсер подтвердил, что пользовательский текст не создаёт внедрённые теги внутри описания RSS.
- CLI проверен на отдельной временной БД: создание, обновление, закрытие с пояснением и последующий разбор. Рабочая БД тестовыми инцидентами не заполнялась.
- Браузер, production: ширина 1280 и 390 px, RU/EN, светлая/тёмная темы, отсутствие горизонтального переполнения, раскрытие хронологии и фильтр решённых инцидентов, описание влияния в окне PWA, выбор/пустой выбор RSS, копирование ссылки и смена языка.
- Проверен переход по ссылке на завершившееся обслуживание: после загрузки данных автоматически выбрана история и показана нужная карточка. Этот стенд работал на отдельном порту с БД в памяти, мониторинг отключён; стенд остановлен.
- Реальная RSS-лента на локальном production-сервере отвечает HTTP 200,
application/rss+xml,Cache-Control: no-store. Примеры исключены. docker compose config --quiet: успешно. Docker-образ здесь не собирался: daemon недоступен.
Развёртывание
Для текущего постоянного Node-мониторинга, SQLite и Chromium нужен независимый хостинг с постоянно работающим процессом и диском. Netlify рассмотрен по официальной документации: подходит для интерфейса с отдельным backend; полный перенос требует адаптации планировщика, хранилища и очереди к Functions. Публикация и миграция на Netlify не выполнялись.
Cookie тестового табло и Telegram остаются неподключёнными на момент проверки. Новых реальных сообщений или подписок не создавалось. Локальные процессы QA остановлены после проверки; запуск проекта — npm run dev.
Скриншоты: public-updates-timeline.jpg — хронология в явно обозначенной демонстрации; public-updates-rss.jpg — реальная страница подписки; public-updates-rss-mobile.jpg — мобильная тёмная тема, EN.