marvinroger / async-mqtt-client

📶 An Arduino for ESP8266 asynchronous MQTT client implementation
MIT License
834 stars 266 forks source link

A list of 16 fatal bugs in this library and how they were fixed #196

Closed philbowles closed 3 years ago

philbowles commented 4 years ago

If anybody has been having problems with the AsyncMqttClient Library in any of the categories below, help is at hand - all 16 of these bugs have been fixed. Just not in this library :)

  1. Spontaneous DCX/CNX.
  2. Will Topic bug Prevents sketch from starting with non-static input.
  3. Bad Subscribe Invalid topic causes DCX/CNX
  4. No topic validation for subscribe (see above)
  5. Discarded messages #1
  6. Discarded messages #2
  7. Total Message Loss
  8. No error handling callback
  9. "Killer Packet" inbound
  10. QoS1 Protocol Violation
  11. Fragment Failure
  12. Numerous API errors - sufficient for their own document
  13. QoS 1/2 protocol violation - no message resend
  14. QoS 1/2 protocol violation - no session recovery
  15. QoS 1 protocol violation - breach of delivery promise
  16. QoS 2 protocol violation - breach of delivery promise

You can read full details of all the bugs (with supporting evidence) here: PangolinMQTT

PangolinMQTT also correctly handles large payloads (up to ~20kb on ESP8266) and QoS1 and 2 also work.

luebbe commented 4 years ago

I'll try to convert my fork of https://github.com/homieiot/homie-esp8266 to PangolinMQTT and will surely have some questions :) Thanks for your work!