err - so when is it declared to be stable ? When it has loaded all nodes (but they may not have fully initialised, so may be about to go bang) ? after 5 seconds ? 30 seconds ? We don't know what is about to kill it - may be a failed network timeout or an infinite loop. If a tight loop we may never get control back to alert the user etc.
Sorry to throw in a spanner. But I don't believe that is enough. Taking the previous example concerning hardware, the package.json
would also need to be emptied of dependencies wouldn't it? In fact, I don't know if even that would be enough, it would need testing.
An empty flow and no packages - is that genuinely helpful, even to a newbie?
Some of us ARE Pro's and, as such, some of us at least do indeed consider beginners.
But, if you start using a power-tool, you should certainly learn something about it before getting too deep - ask anyone who has used a cutting wheel on a grinder or used a woodworking router.
Node-RED is extremely powerful and mostly "just works", a testament to its design and that of node.js. If people have just accepted that without thinking through some of the potential pitfalls and consequences, they are likely to get a rude awakening. As indeed we see when people open up Node-RED to the Internet without precautions.
What perhaps would be a better starting point for this issue would be a troubleshooting walkthrough that could be referenced to help people for the relatively rare occasions when things go wrong.
By the way, I'm not suggesting there is no merit in your suggestion, there certainly is. But we need to be careful not to over-engineer something to cover a relatively rare issue that is likely to have a great many edge-cases.
Further thought may be needed.
Totally agree, that's why: complexity v. maintainability. And yes Node-RED isn't a tool that you just dive into and it will never bite back. That's one of the nice things about Node-RED it gives you that impression that it won't bite but in fact it's a visual editor for creating anything that you can create or break in NodeJS. Very powerful indeed.
If you are worried about Newbies getting it wrong, then give them something like the serverless Node-RED that I created. WIth a single reload of the browser, you're back to where you started. The source of the entire thing is at github - so you can play around with it adding functionality to make the simulation even more realistic.
Newbies can then first learn about how to use Node-RED and then start thinking about what the underlying problems might be in including random npm packages and then gradually start working on a real instance of Node-RED.
I was wondering that too. I asked ChatGPT but got lost in a discussion about God, faith and religion. Perhaps I shouldn't have asked when a system is stable but rather when is Node-RED stable.