Files
ridebus-status/artifacts/public-updates-verification.md
2026-10-13 02:24:39 +03:00

30 lines
5.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Проверка влияния, хронологии и 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.