-
Hi Gordon,
Here are some issues I found:
- When there is a problem connecting it throws a JavaScript error. For this I created a pull request.
- When receiving multiple Publish packets at once, it only sees the first one. This is a common scenario when subscribing and receiving some retained messages from the broker, but also if another client publishes multiple messages.
- When parsing Publish packets it does not take into account that a QoS 0 message does not have a packet id, therefore the message the parser returns is malformed when receiving multiple Publish packets at once.
- It does not send PubAck messages. This results in the broker re-sending QoS 1 Publish packets over and over again.
I would be happy to help getting those fixes back in, no problem. Maybe it's also a good idea if we would coo-operate on my rewrite. It's fully covered by tests, which definitively helps to keep the quality high. What do you think about that?
Of course I am also concerned about the available space on the device, therefore I would only add what is required for a stand-alone MQTT controlled device and I would remove what's not really needed. Do you have some advise for me how to keep it small and how to keep the memory usage as low as possible?
- When there is a problem connecting it throws a JavaScript error. For this I created a pull request.
I'd be interested to hear what you're worried about quality-wise. Some things are done specifically to make it more space-efficient, so if you're not careful you may find that your version uses a lot more memory.
What are the fixed issues? It would at least be worth trying to pull those back into the current MQTT library.