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:
parent
981e168fb9
commit
6e1c0967cb
2 changed files with 13 additions and 0 deletions
|
|
@ -245,6 +245,14 @@ public sealed record RuntimeOptions(
|
|||
PreparedAssetPath = NullIfEmpty(content?.PreparedAssetPath)
|
||||
?? baseOptions.PreparedAssetPath,
|
||||
LiveMode = true,
|
||||
// Campaign LA gate round 2: a session-config launch IS a product
|
||||
// launch — the retail UI is the shipped UI, not a dev option.
|
||||
// ACDREAM_RETAIL_UI remains the opt-in for env-var dev launches,
|
||||
// but the launcher strips ACDREAM_* from children (LA11 isolation),
|
||||
// so inheriting the env default here shipped a client with world
|
||||
// rendering and NO interface at all — the guiSelect flow's
|
||||
// character screen included.
|
||||
RetailUi = true,
|
||||
LiveHost = session.Endpoint.Host,
|
||||
LivePort = session.Endpoint.Port,
|
||||
LiveUser = session.Account,
|
||||
|
|
|
|||
|
|
@ -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]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue