fix(gamestream): announce the stream marker + lifecycle events on the compat plane

Only the native punktfunk/1 loop announced the script-facing marker file,
so a Moonlight session left it absent and wrapper scripts took their
"not streaming" branch mid-stream. The GameStream plane now announces
before run() (the marker must exist when the title's wrapper executes)
and retracts before client.disconnected, keeping the native loop's event
order; StreamRef call sites carry the plane/launch fields.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-19 16:34:20 +02:00
parent f0c511c8fa
commit 0b8e8312a5
3 changed files with 66 additions and 18 deletions
+1
View File
@@ -1173,6 +1173,7 @@ async fn serve_session(
hdr: welcome.color.is_hdr(),
client: hello.name.clone().unwrap_or_default(),
launch: hello.launch.clone(),
plane: crate::events::Plane::Native,
});
// The session's launch, threaded into the data plane. Windows carries the store-qualified id
// (spawned into the interactive user session once capture is live); other hosts resolve the id