From 37a4cf424e896f8ff8f7d96ec3f8693223498a6f Mon Sep 17 00:00:00 2001 From: "j.foucher" Date: Sun, 3 May 2026 20:32:06 +0200 Subject: [PATCH] =?UTF-8?q?v0.23.4=20=E2=80=94=20Default=20config=20:=20ch?= =?UTF-8?q?eck=20VR=20par=20d=C3=A9faut=20en=20VrDevice=20(out-of-the-box)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- installer/PSLauncher.iss | 2 +- src/PSLauncher.App/PSLauncher.App.csproj | 6 +++--- src/PSLauncher.Models/LocalConfig.cs | 14 +++++++++----- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/installer/PSLauncher.iss b/installer/PSLauncher.iss index 13013d3..afe4800 100644 --- a/installer/PSLauncher.iss +++ b/installer/PSLauncher.iss @@ -11,7 +11,7 @@ #define MyAppName "PROSERVE Launcher" #define MyAppShortName "PS_Launcher" -#define MyAppVersion "0.23.3" +#define MyAppVersion "0.23.4" #define MyAppPublisher "ASTERION VR" #define MyAppURL "https://asterionvr.com" #define MyAppExeName "PS_Launcher.exe" diff --git a/src/PSLauncher.App/PSLauncher.App.csproj b/src/PSLauncher.App/PSLauncher.App.csproj index f6f506f..54065f5 100644 --- a/src/PSLauncher.App/PSLauncher.App.csproj +++ b/src/PSLauncher.App/PSLauncher.App.csproj @@ -15,9 +15,9 @@ PROSERVE Launcher © 2026 ASTERION VR — All rights reserved PSLauncher.App - 0.23.3 - 0.23.3.0 - 0.23.3.0 + 0.23.4 + 0.23.4.0 + 0.23.4.0 true diff --git a/src/PSLauncher.Models/LocalConfig.cs b/src/PSLauncher.Models/LocalConfig.cs index b528108..a20c50d 100644 --- a/src/PSLauncher.Models/LocalConfig.cs +++ b/src/PSLauncher.Models/LocalConfig.cs @@ -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, }, }; }