Repository navigation
v3.2.19
Fixed
- BLE response parser could grow its buffer without bound after a framing desync, exhausting internal heap. The parser appends every received byte and only completes (and clears) when the JSON brace depth returns to 0. A single stray or dropped byte on a marginal link (a leading
}, or an unbalanced") permanently desynced it, so every subsequent byte accumulated until the next command reset. On the Pulsar Plus / Copper / Quasar (BGX13P) path, where responses stream as asynchronous notifications, this could run internal heap down until new connections couldn't be allocated and/api/statusstalled for several seconds (entities flapping to unavailable, roughly every 15 minutes). The parser now caps the buffer at 16 KB and resyncs from the next object start, and resets if brace depth goes negative. Applies to all charger models (one shared parser); the Plus family was the most exposed. Well-formed single- and multi-packet responses are unaffected.
If your charger entities flap to unavailable on a regular interval, especially on a Pulsar Plus, update to this release.