Browse Source

Catch decoding errors, refs #808

pull/809/head
Henri Bergius 11 months ago
parent
commit
18d73f38ad
  1. 18
      packages/core/src/utils/transform/decodePacket.ts

18
packages/core/src/utils/transform/decodePacket.ts

@ -24,10 +24,20 @@ export const decodePacket = (device: MeshDevice) =>
break; break;
} }
case "packet": { case "packet": {
const decodedMessage = fromBinary( let decodedMessage;
Protobuf.Mesh.FromRadioSchema, try {
chunk.data, 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); device.events.onFromRadio.dispatch(decodedMessage);
/** @todo Add map here when `all=true` gets fixed. */ /** @todo Add map here when `all=true` gets fixed. */

Loading…
Cancel
Save