Situation
first off, I am aware that the node-red documentation states this clearly
"There are some reserved names for properties that must not be used. These are: Any single character - x, y, z, d, g, l are already used. Others are reserved for future use. id, type, wires, inputs, outputs"
and it is a use case error that i am trying to describe, but please bear with me here.
I have the logger set up at trace
I have the metrics and audit to be visible.
I will demonstrate a pice of json in the flows file, with no id, hence breaking the entire application, I would also like to note that the id not removed manually or via some external sources, but all what is done is within the scope of the interface provided also considering the user feedback.
Demonstration
Please view the demonstration of the issue here. It will take 3 mins of your time and give you better insights.
https://1drv.ms/u/s!AubfcUCluhAooH_nRb9dm95BgCxI?e=ZLZOQN
After the deployment we can see the errors popping up are obvoisly not retracable to the problem. But the flows file is updated with a new addition which is..
........ ]
]
},
{
"id": "", <= Here is a node injected to the flow not manually but will result in non-responding UI
"type": "Variable",
"z": "3e2accbd.7e7cb4",
"server": "",
"name": "",
"address": "",
"measurement": "",
"valueFilter": "",
"relativeTime": "",
"x": 460,
"y": 2400,
"wires": [
[]
]
}
]
Suggestion/Enhancement
- Enhance the node red console logging to include this kind of error by default as fatal which will break and most possibly not work in many use cases.
Reasoning
The tradeoff between the amount of work that needs to be put in to the enhancement this brings to usability is favorable and worth the development time in my opinion.
Thanks for reading untill the end.