diff --git a/launcher/Backend/LocalOverrides.cs b/launcher/Backend/LocalOverrides.cs index dd4aa05..b627557 100644 --- a/launcher/Backend/LocalOverrides.cs +++ b/launcher/Backend/LocalOverrides.cs @@ -66,15 +66,25 @@ public static class LocalOverrides return Directory.Exists(dir) ? dir : null; } - /// Single-line description of what overrides are active, - /// for surfacing in the Settings view. Empty string if none. + /// Multi-line description of override state, for the + /// Settings view. Shows env var values even when the path doesn't + /// resolve, so the user can debug "I set DORKNET_LOCAL_RELEASES + /// but it didn't work" without digging into File.Exists. public static string DescribeActive() { var parts = new List(); - var m = GetLocalManifestPath(); - if (m is not null) parts.Add($"manifest -> {m}"); - var r = GetLocalReleasesRoot(); - if (r is not null) parts.Add($"releases -> {r}"); + Describe(ManifestEnvVar, isDir: false, parts); + Describe(ReleasesEnvVar, isDir: true, parts); return string.Join("\n", parts); } + + private static void Describe(string envVar, bool isDir, List parts) + { + var raw = Environment.GetEnvironmentVariable(envVar); + if (string.IsNullOrEmpty(raw)) return; + var exists = isDir ? Directory.Exists(raw) : File.Exists(raw); + parts.Add(exists + ? $"{envVar} -> {raw} [active]" + : $"{envVar} -> {raw} [SET BUT NOT FOUND on disk]"); + } }