debug(gamestream): surface the pointer plane's silent failure modes

An on-glass 'touch does nothing' currently leaves NO trace: log the first
SS_TOUCH per session at info (proves the client sends + we decode), and warn
when a packet carrying a pointer magic fails the body parse (layout mismatch)
instead of vanishing into the unknown-magic drop.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-23 17:48:17 +02:00
co-authored by Claude Fable 5
parent 98b97d7d76
commit 40611cd54d
3 changed files with 31 additions and 0 deletions
@@ -289,6 +289,14 @@ fn on_receive(
let _ = inj_tx.send(ev);
});
return;
} else if super::input::is_pointer_magic(&pt) {
// A pointer magic that failed the body parse — a layout mismatch against this
// client, exactly what an on-glass "touch/pen does nothing" needs surfaced.
tracing::warn!(
len = pt.len(),
"gamestream: SS_TOUCH/SS_PEN packet failed to decode (malformed/unexpected layout)"
);
return;
}
let events = super::input::decode(&pt);