190 build - улучшение работы всего сервиса. часть 1

This commit is contained in:
2026-10-21 13:23:38 +03:00
parent e4bedb1264
commit c6dcfcf533
44 changed files with 5391 additions and 0 deletions

52
docs/CHANGELOG.md Normal file
View File

@@ -0,0 +1,52 @@
# Изменения и история
## 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 в архив истории не включены.