Files
hockey_new/docs/CHANGELOG.md

72 lines
7.8 KiB
Markdown
Raw 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.

# Изменения и история
## BUILD191 — 21 октября 2026 · 2026.10.21.2
- Пустой выбор Agent больше не отправляет команды таймера на прежнее устройство сессии.
- Сервер отклоняет явно пустой `device_id`; старые клиенты без этого поля проходят прежние проверки доступа.
- Неотправленные назначения удалений удаляются из оптимистичного кэша, локальный таймер сохраняет своё состояние.
- Устаревшие проверки GUID/номеров Inputs, пакетного транспорта и противоречивых протоколов таймеров заменены исполняемыми проверками действующих контрактов.
- Проверки КХЛ используют отдельные настройки: выбор числа потоков на VM не меняется ради тестов.
- Проверяются порядок ACK, ограниченные повторы, изоляция устройств, пауза/продолжение native Countdown, готовые удаления, права и переключение матчей.
- Проверки JavaScript требуют явного завершения сценария: завершение Node с незавершённым Promise не считается успехом.
Полный прогон: **565 passed, 0 failed**, без skip/xfail, 272,9 с. Для всех
59 прежних падений проверено соответствие реально прошедшим сценариям.
Все 11 намеренно внесённых ошибочных вариантов обнаружены проверками.
Совместный локальный прогон трёх матчей и шести Agents: 60 циклов по 64 поля,
24 196 команд и 1425 запросов зрителей. Итоговые значения, изоляция, восстановление
после ошибок ACK/разрыва и передача управления прошли; очереди завершились пустыми.
Подробные результаты и ограничения находятся в [validation.json](validation.json).
Живые PostgreSQL, Stat2TV, Windows Agent.exe и vMix в локальном прогоне не подключались.
## BUILD190 — 21 октября 2026 · 2026.10.21.1
- Mapping кэшируется только после ACK; ограниченные безопасные повторы и защита от старых подтверждений.
- Чтение Agent, heartbeat и восстановление разделены; новый WebSocket ждёт inventory.
- Восстановление связи сохраняет поля работающих native Countdown.
- Опубликованная версия Mapping закреплена за Agent; правки шаблона не переключают остальные эфиры.
- Атомарное сохранение Mapping с проверкой версии; опубликованные снимки переживают удаление шаблона.
- Усилена проверка участника/матча/устройства; зритель может иметь свой отдельный выход.
- Добавлен постоянный журнал, кнопка «Журнал», лёгкая страница /logs, фильтры и TXT/JSONL.
- Текущий и предыдущий московские месяцы журналов, автоматическая очистка; секреты маскируются.
- Сжатие и кэширование версионных ресурсов, параллельный старт, меньше работы редактора в runtime.
- Добавлены замеры загрузки/отрисовки браузера и Server-Timing для HTTP.
- Повторные XML используют один путь по SHA-256; история путей PostgreSQL сохраняется.
- Старые одинаковые XML можно объединить hardlink без удаления имён файлов.
- Ограничено хранение standalone discovery-отчётов; XML по возрасту не удаляются.
- HTTP-клиенты Stat2TV переиспользуют пул соединений и закрываются при завершении.
- Одинаковое сохранение UI не создаёт backup и не перезаписывает конфигурацию.
- История старых backup импортируется однократно и не возвращается на каждом старте.
- Добавлена консервативная очистка VM с предварительным планом по умолчанию.
- Основная документация сведена к README и четырём документам; deploy имеет один источник.
Проверки выполнялись без доступа к рабочим PostgreSQL/Stat2TV/vMix: SQLite-фикстуры,
поддельные Agent/ACK и Chromium с локальными API. В контролируемом сценарии без
выбранного матча, с задержкой начальных API 150 мс, медиана трёх запусков снизилась
с 3477 до 1424 мс. Это не измерение производственного сервера или ёмкости матчей.
Итоги проверок и идентификаторы 59 падений, уже присутствовавших в исходном архиве,
сохранены в [validation.json](validation.json). Финальный поведенческий набор —
91 passed; дополнительные проверки входа с телефона и выхода при недоступной
авторизации также прошли. Полный набор после последних правок повторно не запускался.
## Последняя исходная сборка
BUILD189 / `2026.10.02.9`: снижение повторных SQL-запросов и нагрузки двух матчей,
оптимизация браузерных обновлений и работы второго Agent.
BUILD188 восстановил вызов удаления при верхнем счёте и сохранение действующего
удаления при снятии Delay Penalty.
BUILD180–184 развивали контекст штрафа, SQL, Preview через триггер, общую ссылку
«Своих плюсов» и подготовленные титры.
Предшествующие обновления включали роли оператора/зрителя, атомарные настройки UI,
карьеру КХЛ, аналитику, переносимый mapping и native Countdown.
## Архив прежних инструкций
[history.zip](history.zip) содержит исходные README/UPDATE/VALIDATION и manifests,
включая разбор прежних 40 падений тестов. Это исторические документы для сравнения
и восстановления, их команды установки относятся к указанным в них сборкам.
Текущие инструкции находятся в README, OPERATOR, ADMIN и ARCHITECTURE.
Исходные рабочие данные и credentials в архив истории не включены.