I have built a plugin element that uses both property inputs and published states. One of these states is published as a result of user input. That published state is then checked against a conditional to change an input.
Seasoned plugin builders may already know where this is going: the “Circular reference error”. Because the plugin’s conditionals rely on a state of that plugin, bubble thinks there’s a circular reference and throws an error. The bubble manual says you can resolve this by setting the initial state, but of course this doesn’t always work, and doesn’t in this case.
Why do I bring this up? Because despite the repeated error messages in the console, the plugin works perfectly fine. Why? Because there’s not actually a circular reference. The plugin is designed to arrive at a stable state. Yes, it may rely on its own states, but its update function doesn’t actually change those states outside of initialization.
And yet bubble spams the console with errors which don’t seem to be suppressible. If you’re collecting error logs from users as I do, this causes quite an unnecessary amount of junk logs.
So to the bubble team, if you’re reading this, PLEASE revisit how circular references are calculated, and save your plugin developers a headache.