v0.23.4 — Default config : check VR par défaut en VrDevice (out-of-the-box)

Avant : check « Casque VR » par défaut en Ping avec Target vide (à
remplir par l'utilisateur avec l'IP du casque). Pour Vive Streaming
ça nécessite de connaître l'IP du casque côté Wi-Fi, info pas toujours
exposée par Vive Business Streaming → check désactivé chez 90% des users.

Après : check VrDevice avec Target « hmd ». Marche sans aucune config :
détecte SteamVR + HMD via les flat C OpenVR (VR_IsRuntimeInstalled +
VR_IsHmdPresent + vrserver process check). Pas de SHM/IPC donc pas de
risque AccessViolation comme avec la vtable.

Avantage en plus : répond beaucoup mieux à la question qui compte
(« PROSERVE peut-il se lancer ? ») qu'un ping sur l'IP du casque, qui
indiquait juste la connectivité réseau.

Les utilisateurs déjà installés en v0.23.x gardent leur config existante
(le launcher ne réécrase pas un config.json déjà présent) ; ils peuvent
remplacer leur Ping par un VrDevice via Settings → Bandeau de santé.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-03 20:32:06 +02:00
parent 7cb2b01403
commit 37a4cf424e
3 changed files with 13 additions and 9 deletions

View File

@@ -178,15 +178,19 @@ public sealed class HealthChecksConfig
Kind = "Process",
Target = "HtcConnectionUtility",
},
// Check VR via OpenVR flat C API (sans vtable IPC pour éviter les
// AccessViolation observés avec le driver Vive Streaming). Donne un
// statut binaire : SteamVR actif + HMD détecté = vert ; runtime absent
// ou casque débranché = rouge. Marche out-of-the-box, pas d'IP à
// configurer côté utilisateur, et beaucoup plus pertinent qu'un ping
// pour répondre à la question « PROSERVE peut-il se lancer ? ».
new HealthCheckEntry
{
Name = "Casque VR",
Icon = "🥽",
Kind = "Ping",
Target = "", // À remplir avec l'IP réseau du casque ; vide = check désactivé
PingWarnMs = 50,
PingErrorMs = 200,
PingTimeoutMs = 1000,
Kind = "VrDevice",
Target = "hmd",
RefreshIntervalMs = 5000,
},
};
}