- Wrap all JsonDocument.Parse calls in using blocks and Clone() each retained JsonElement to eliminate UAF hazard after GC. - Use JsonSerializer.Serialize with UnsafeRelaxedJsonEscaping so event names with " or \ produce \" / \ rather than " / plain \; avoids malformed JSON on Encode(). - Guard the [ ] block in Encode() behind EventName-or-args check so Connect/Disconnect packets round-trip as bare "0"/"1" not "0[]". - Add three regression tests: Connect no-bracket, Event round-trip, special-char event name escaping. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
7.3 KiB
7.3 KiB