fix(app): Campaign LA gate round 2 — session-config launches force the retail UI on

A launcher-spawned client showed the world with NO interface at all -
character screen included. RetailUi rode ACDREAM_RETAIL_UI (the dev-era
opt-in), FromSessionConfig inherited the env parse, and the launcher
strips ACDREAM_* from children by design, so every product launch got
the dev default. A session-config launch IS a product launch: RetailUi
is now forced true on that path; the env flag remains the dev-launch
opt-in. Pinned by the session-config options test with a null env.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-08-15 08:42:33 +02:00
parent 981e168fb9
commit 6e1c0967cb
2 changed files with 13 additions and 0 deletions

View file

@ -59,6 +59,11 @@ public sealed class RuntimeOptionsSessionConfigTests
Assert.Equal(["PluginA", "PluginB"], options.Plugins);
Assert.Equal(["/tell x, hi"], options.LoginCommands);
Assert.Equal(900, options.LoginCommandDelayMs);
// Gate round 2: a session-config launch is a product launch — the
// retail UI must be ON even though the env func above returns null
// for everything (the launcher strips ACDREAM_* from children, so
// env inheritance here shipped a client with no interface at all).
Assert.True(options.RetailUi);
}
[Fact]