launcher: DORKNET_LOCAL_* env-var overrides for dev testing

Set DORKNET_LOCAL_MANIFEST and/or DORKNET_LOCAL_RELEASES to point
the launcher at on-disk artifacts instead of the public repo:

- DORKNET_LOCAL_MANIFEST: full path to a versions.json file.
  VersionsManifest.FetchAsync reads it from disk and skips the
  GitHub round-trip.
- DORKNET_LOCAL_RELEASES: path to a directory laid out as
  {root}/{version_key}/server/ + .../patcher/. EnsureServerAsync /
  EnsurePatcherAsync return those paths in-place — no download,
  no copy, no marker files.

Both are silent no-ops when unset / missing on disk, so it's safe
to leave them set permanently in a dev profile. When at least one
is active, the Settings view surfaces a "Dev overrides active"
panel listing the paths so it's obvious the launcher isn't using
the public manifest.

Lets contributors iterate on per-version branch changes against
the launcher UI without needing to tag a public Release.
This commit is contained in:
Alexa
2026-05-27 11:45:08 +03:00
parent 5452ff06ee
commit 7d1ac82cf8
5 changed files with 136 additions and 0 deletions
+18
View File
@@ -661,6 +661,24 @@
</StackPanel>
</Border>
<!-- Dev-mode overrides — visible only when at least one
env var is set so end users never see it. -->
<Border x:Name="LocalOverridesPanel" Visibility="Collapsed"
Style="{StaticResource Panel}" Margin="0,0,0,16"
Background="{StaticResource CardBgHost}">
<StackPanel>
<TextBlock Style="{StaticResource SectionTitle}"
Text="🛠 Dev overrides active" />
<TextBlock Foreground="{StaticResource InkSoft}" FontSize="12"
Margin="0,-6,0,8" TextWrapping="Wrap"
Text="The launcher is reading from local paths instead of GitHub. Unset DORKNET_LOCAL_MANIFEST / DORKNET_LOCAL_RELEASES to return to normal mode." />
<TextBlock x:Name="LocalOverridesText"
Foreground="{StaticResource Ink}"
FontSize="12" TextWrapping="Wrap"
FontFamily="Cascadia Mono, Consolas" />
</StackPanel>
</Border>
<Border Style="{StaticResource Panel}">
<StackPanel>
<TextBlock Style="{StaticResource SectionTitle}" Text="About" />