4.7 KiB
Hockey vMix Agent 1.3.0
Windows x64 GUI bridge for Hockey Web ↔ vMix.
Главное в 1.3.0 — стабильность
Эта версия в первую очередь исправляет зависания и случайные отвалы соединения:
- Win32 GUI теперь жёстко закреплён за одним Windows OS-thread (
runtime.LockOSThread). Окно и message loop всегда работают на том же системном потоке. - Настройки и Диагностика создаются лениво уже внутри корректного GUI-thread, а не во время первого запуска.
- GUI показывается до запуска сетевых операций; DNS/server/vMix больше не могут задержать появление окна.
- Проверка Windows автозапуска больше не выполняется в startup-critical GUI path.
- WebSocket heartbeat вынесен в отдельный writer-loop.
- Удалён опасный 1.2-секундный read-timeout, который мог срабатывать в середине WebSocket frame и повреждать поток.
- Если сервер не прислал ни одного полного сообщения за 30 секунд, соединение считается stale и создаётся заново.
- Любая запись в WebSocket имеет write-timeout 5 секунд — мёртвый TCP больше не может зависнуть навсегда.
- HTTP Upgrade WebSocket ограничен общим timeout на handshake.
- После нормальной рабочей сессии reconnect снова начинается с 1 секунды, а не со старого накопленного backoff.
- GUI использует собственный кэш состояния и не обращается к сетевому state-lock во время WM_PAINT / WM_CTLCOLORSTATIC.
- Добавлен постоянный
agent.logрядом сagent.exe. Если проблема повторится, даже при недоступном окне можно прислать этот файл. agent.logавтоматически ротируется примерно после 2 MB вagent.log.1.
Обновление
- Полностью закрой предыдущий Agent через tray → Выход.
- Не удаляй
agent_config.json. - Замени
agent.exeна версию 1.3.0. - Запусти Agent.
Device ID, Device Secret и привязка к аккаунту сохраняются.
Сервер
Текущий локальный вариант:
http://127.0.0.1:8000
После переноса Hockey Web на сервер можно указать, например:
https://hockey.example.ru
Agent автоматически подключится к:
wss://hockey.example.ru/ws/hockey-agent
Приоритет адресов:
HOCKEY_SERVER_URL;server_url.txtрядом сagent.exe;- основной URL из Настроек;
- резервный URL из Настроек.
vMix
По умолчанию:
http://127.0.0.1:8088/api/
vMix проверяется независимо от связи с Hockey Server.
v1.3.0 — vMix inventory / Mapping
Agent автоматически читает XML текущего vMix API и строит инвентарь Inputs и GT-полей. Структура отправляется Hockey Server только при подключении или когда структура проекта изменилась. В значения полей Agent не вмешивается. На сервер отправляются только имена Inputs, key/number/type и имена полей. Fingerprint проекта рассчитывается по структуре Inputs/полей, поэтому смена матча не создаёт новый mapping.
1.4.0
- Fast
vmix.batchprotocol for large Mapping updates. - One WebSocket round-trip per batch instead of one per field.
- Local vMix requests use keep-alive HTTP connections and a bounded parallel worker pool.
- Empty
Valueis forwarded so SetText can clear stale title fields. - Fully backward compatible server fallback: older Agents continue to work in legacy mode.
1.5.0
- Real vMix Overlay 1-4 tally from the local XML API.
- Active overlays are resolved to Input number, GUID/key and title.
- Tally changes are sent to Hockey Server as
vmix.overlay_state. - This lets the web UI highlight the actual title currently on air, including titles prepared via
PreviewInput.