I have been utilizing the Indigo broadcast/subscribe feature in my plugins for a few years now, but I have always had these phantom issues that I could never track down.
Specifically, I developed ShellyMQTT that interfaces with Shelly devices over MQTT. FlyingDiver's MQTTConnector plugin manages the MQTT portion of the solution and passes MQTT messages to ShellyMQTT through the broadcast/subscribe "pipe". I have always run into 1-in-a-million bugs where I see MQTTConnector processed a message and ShellyMQTT never received it. Of course, the next message goes through and I have no idea what just happened.
Fast forward to recently - I wrote a script that processes Webhooks sent from Plex. This script then packages up the data onto an MQTT topic and publishes it to my broker. Now I can have fun making Indigo control lighting when I play/pause/resume/stop content playing on my TV. But this is unreliable where 1-in-4 messages fail to make it through. I clearly see all messages being received by MQTTConnector and it is configured correctly to publish this message for another plugin to process it. But the other plugin fails to receive this message.
Question: Is there some sort of internal buffer in Indigo that could potentially be dropping messages? My mature MQTTConnector -> ShellyMQTT flow routinely sees bursts (60+ within milliseconds) and occasionally some will get dropped. These are very small messages averaging maybe 100 bytes. The Plex messages routinely being dropped are about 32Kb in size (JSON).