Files
hockey_new/agent/README.md

4.7 KiB
Raw Blame History

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.

Обновление

  1. Полностью закрой предыдущий Agent через tray → Выход.
  2. Не удаляй agent_config.json.
  3. Замени agent.exe на версию 1.3.0.
  4. Запусти 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

Приоритет адресов:

  1. HOCKEY_SERVER_URL;
  2. server_url.txt рядом с agent.exe;
  3. основной URL из Настроек;
  4. резервный 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.batch protocol 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 Value is 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.