{"version":"2.1.235","anchor":"malformed-and-throwing-protocol-frames-are-dropped-instead-o","canonical_anchor":"malformed-and-throwing-protocol-frames-are-dropped-instead-o","heading":"Malformed and throwing protocol frames are dropped instead of crashing the client","tier":"notice","area":"Elsewhere","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.235\/e\/malformed-and-throwing-protocol-frames-are-dropped-instead-o","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.235","markdown":"### Malformed and throwing protocol frames are dropped instead of crashing the client\n\nMalformed or throwing protocol frames are now caught and logged instead of crashing the client\n\nWorker control responses with a non-string or unrecognized error now produce a described Error instead of `Error(undefined)`. A new wrapper catches exceptions thrown by frame handlers, logs the dropped frame's type and subtype, and continues; the SDK\/sessions client routes every delivery through it and reports `remote_connect_frame_handler_threw` telemetry when a handler throws. Thin-client control replies are now validated against their zod schema, returning null and logging the first schema issue instead of trusting the payload, and history prefetch wraps per-frame conversion in try\/catch, skipping frames that fail.\n\n- Area: Elsewhere\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5"}