Skip to content

Headless reconnect+health check#707

Merged
dooly123 merged 10 commits intoBasisVR:developerfrom
Toys0125:Headless-Reconnect+HealthCheck
Mar 31, 2026
Merged

Headless reconnect+health check#707
dooly123 merged 10 commits intoBasisVR:developerfrom
Toys0125:Headless-Reconnect+HealthCheck

Conversation

@Toys0125
Copy link
Copy Markdown
Contributor

This branch adds headless connection resilience and optional Docker health reporting for Basis headless builds. This allows docker compose with autoheal to restart containers when they fail to reconnect.

What changed

  • Added bounded automatic reconnect for the headless client after unexpected disconnects.
  • Added a headless HTTP health endpoint with runtime status reporting for Docker and orchestration checks.
  • Added headless runtime status tracking for connection state, retry state, and disconnect metadata.
  • Added new headless config support for health and reconnect settings in config.xml and Docker-generated defaults.
  • Updated Dockerfiles and the headless build workflow to expose and configure the health endpoint.
  • Skipped visual-only initialization paths for dedicated server builds to avoid shader and PIP-camera related server issues.
  • Added headless avatar URL resolution support during startup.

Behavior

  • Health checks are explicitly gated by HealthCheckEnabled and remain disabled by default.
  • When enabled, the headless health endpoint reports connection state, retry counts, target server, and last disconnect details.
  • Headless reconnect attempts are bounded and intended for unexpected disconnect recovery, not intentional shutdown.
  • Dedicated server builds now avoid visual asset initialization paths that are not valid in server mode.

Files of note

  • .github/docker/headless/linux/Dockerfile
  • .github/docker/headless/windows/Dockerfile
  • .github/workflows/build-docker-server.yml
  • Basis/Packages/com.basis.framework/Device Management/Devices/Headless/BasisHeadlessHealthCheck.cs
  • Basis/Packages/com.basis.framework/Device Management/Devices/Headless/BasisHeadlessManagement.cs
  • Basis/Packages/com.basis.framework/Device Management/Devices/Headless/BasisHeadlessRuntimeStatus.cs
  • Basis/Packages/com.basis.framework/Networking/BasisNetworkConnection.cs
  • Basis/Packages/com.basis.framework/Networking/BasisNetworkLifeCycle.cs

Notes

  • Health checks are off by default unless HealthCheckEnabled is set.

@dooly123 dooly123 merged commit 0684af2 into BasisVR:developer Mar 31, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants