Protected ReadonlyendpointProtected ReadonlyfetchOptionalinit: RequestInitOptionalinit: RequestInitProtected ReadonlymaxProtected Readonlytimeoutwhether send will actually transmit anything right now
ProtectedreadreadText, then parseInbound
Protectedreadthe response body as text, refused as soon as it passes maxResponseBytes rather than after it is all in memory
sends one structured event; a silent no-op before consent is granted, not an error
a game calls this from its own consent flow; not read from anywhere mwg controls
Protectedwith
An injectable transport for automatic, structured analytics events -
FeedbackClient's own shape, for a different question.FeedbackClientis a player choosing to write something and send it; this is a game deciding on its own to send something, which needs its own consent gate before anything ever leaves the machine, unlike a player action that already consents to sending just by happening.sendis a silent no-op, not an error, untilsetConsent(true)has been called - automatic collection defaults off.mwgstays opinion-free on what an event actually contains, what "consent" means for a given game (a settings toggle, a first-launch prompt, a platform-level flag), and where the endpoint lives - the same boundaryFeedbackClient's own doc comment draws for manual reports.Example