Here’s one (very, very advanced):
There’s a bug in the plugin editor: The plugin editor has “copy” and “paste” element features. You would think that you could – for example – build an element in a plugin and then use that as a template for building a new element that is similar, but has different features.
However, if you do this, it turns out that your “copied” element is not, in fact, a copy, but a clone. The actions and states of the “copied” element will conflict with the “original” element.
But you can work around this by copying your entire plugin to a new copy of the entire plugin. Now, copy the desired element and paste it there (create a “clone” of the desired element in the copy). Sync to Github.
Now go inspect your elements in that Github repo and you’ll see the source of the bug – the cloned element shares the same unique IDs for actions and states as the original. (These IDs show up as folder names and names in params.json.)
To fix: Download the repo to your local machine and change the IDs in params.json (you’ll see that the original names have 3-character names that must be something like low-resolution unique IDs – they are like AAa, AAb, etc. Just change them to – for example TAa, TAb, etc.). Then change the folder names to match (this isn’t very hard). Check your code in and commit to your master branch in Github.
Now back in the plugin editor for the copied plugin, you’ll see that the github repo is ahead of the plugin’s branch. Resync and you’ll find that your modified plugin element is now a unique entity, and not a clone.
Now you can proceed with development.
It’s stupid that Bubble implemented plugin elements this way. (Why don’t they simply have a master unique ID?) But at least it can be worked around.
I’m the only person in the world who understands the above, BTW, but I hope that – in future – others who trod my path will benefit.