I experienced this a lot while developing a plugin. Restarting Photoshop usually helped. Really annoying. I just hope it’s a development related bug. Didn’t notice any issues when installed packaged CCX
Might be a good idea to add a console.log("adding listeners") or something to your code – that way you could see each time the code is registering for these listeners, which might be useful in tracking down when the issue arises.
I think UDT could contribute to this as plugins can sometimes be reloaded in quick succession after a change is detected. In that case, your users wouldn’t see it, since they don’t use UDT to load the plugin into Ps.
This happens even with Alchemist (loaded via UDT). When listening for events, sometimes it shows two of the same. Sometimes isCommand differs (true vs false). So I really doubt it’s a plugin issue