Status: root cause confirmed (missing guard, not a regression)
Affects: matchmaking UX (reported against MultiplayerPvP Closed Beta v3)
Symptom
While queued for matchmaking, the player can click Play → New Run (or Continue / a Challenge) and start a singleplayer run. The main menu tears down while the queue stays silently active server-side — a match can then be found while the player is mid-run, and the queue status display breaks (tracked separately).
Expected
Starting a singleplayer run while searching should be blocked entirely, with clear feedback — e.g. a dialog offering to leave the queue or stay queued. Being "in queue" and "in a singleplayer run" simultaneously is not a valid state.
All vanilla run-entry flows (New Run, Continue, Challenges, restart, tutorial) funnel through G.FUNCS.start_run, so a single guard at that chokepoint gated on the search state would cover every path.
Status: root cause confirmed (missing guard, not a regression)
Affects: matchmaking UX (reported against MultiplayerPvP Closed Beta v3)
Symptom
While queued for matchmaking, the player can click Play → New Run (or Continue / a Challenge) and start a singleplayer run. The main menu tears down while the queue stays silently active server-side — a match can then be found while the player is mid-run, and the queue status display breaks (tracked separately).
Expected
Starting a singleplayer run while searching should be blocked entirely, with clear feedback — e.g. a dialog offering to leave the queue or stay queued. Being "in queue" and "in a singleplayer run" simultaneously is not a valid state.
All vanilla run-entry flows (New Run, Continue, Challenges, restart, tutorial) funnel through
G.FUNCS.start_run, so a single guard at that chokepoint gated on the search state would cover every path.