From 18d73f38ade7a5ce5511d24d6c4ddedc8b6acb7b Mon Sep 17 00:00:00 2001 From: Henri Bergius Date: Mon, 25 Aug 2025 08:32:02 -0400 Subject: [PATCH] Catch decoding errors, refs #808 --- .../core/src/utils/transform/decodePacket.ts | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/core/src/utils/transform/decodePacket.ts b/packages/core/src/utils/transform/decodePacket.ts index d44e52cf..9143f7ca 100644 --- a/packages/core/src/utils/transform/decodePacket.ts +++ b/packages/core/src/utils/transform/decodePacket.ts @@ -24,10 +24,20 @@ export const decodePacket = (device: MeshDevice) => break; } case "packet": { - const decodedMessage = fromBinary( - Protobuf.Mesh.FromRadioSchema, - chunk.data, - ); + let decodedMessage; + try { + decodedMessage = fromBinary( + Protobuf.Mesh.FromRadioSchema, + chunk.data, + ); + } catch (e) { + device.log.error( + Types.Emitter[Types.Emitter.HandleFromRadio], + "⚠️ Received undecodable packet", + e, + ); + break; + } device.events.onFromRadio.dispatch(decodedMessage); /** @todo Add map here when `all=true` gets fixed. */