Just while I'm testing other stuff out - I created the simplest flow with nothing in the Blockly node and just on a whim - pressed the inject - and was surprised that the timestamp went thru
Hmm this one seems to be a hidden feature, not a bug
When you add a new Blockly node to your flow, the default value of the javascript (see here) code is return msg;. And that code is indeed used in the VM that we start:
So the message is passed through the Blockly node, and arrives on its output.
However when you change e.g. the timeout setting in your node, the node is deployed again. The javascript tab is still empty (as before), but now the (empty) generated code is deployed:
Since the VM doesn't return the input msg this time, the code - which processes the VM output - will see that there is nothing to be send to the output, and it will simply stop processing the VM output:
I think it is better if the default javascript code return msg; is replaced by no code, to match the default core Function node behaviour.
BTW the fact that the default return msg; javascript code is not showed in our Javascript tabsheet, is indeed a bug
I mean when we initialize the (generated) javascript code to return msg;, we should also initialize the workspace xml to a Blockly workspace containing a block that sends the message to the output. Because the Blockly diagram and the generated Js code should always be in sync, which is now not the case: we have Js code for an empty Blockly workspace. That is not correct.
But it is more easy if we just start in a new Blockly node from an empty workspace and corresponding no Js code.