🎉 Node-RED 5.0.0 Beta 6 available

I have privately received some criticism for not engaging with the linkcall discussion, and for trying to shut down discussion. Not saying from who as that is irrelevant here - if one person feels that way enough to say something, then others may feel similar. So I wanted to clear the air.

I hadn't foreseen the level of push-back the linkcall feature would receive. I knew it may raise an eyebrow or two, but some of the claims that its 'breaking what Node-RED is' (to paraphrase, not a direct quote) goes much further than I had expected. I wanted to let the discussion play out to see whether that would bring people around on the idea. I was purposefully away from my laptop over the long weekend here in the UK and didn't want to feel pressured of having to keep engaging in the discussion.

When I did check-in on the thread, I could see the temperature was rising. I've been running this forum long enough to sense when threads are at risk of derailing and that splitting certain topics out into their own thread is a good idea. That is not shutting down discussion; its making sure discussion doesn't crowd out others, whilst also trying to keep the discussion productive. I could have proactively moved all the relevant replies to their own thread, but that's a pain to do from the phone UI of the forum and I wasn't in a position to get to my laptop to do it.

On the substance of the linkcall feature, here are my thoughts.

It has been a common request to have a way to have reusable code across Function nodes. I believe the linkcall feature provides an elegant blend of the two worlds.

I have seen real world cases where users have had to write more and more complicated Function code with lots of internal state management in order to manage the ability to pass messages to flows and get responses back into the Function node. That state management is fine for simple cases, but we've seen some truly horrible cases - such as the langgraph work Steve has referred to. The linkcall feature removes 99% of that state management - making the code they have to maintain much easier to understand.

For me, that is a win. In order to solve the problem at hand, many Node-RED users aren't looking for the most elegant "node-red" way of solving a problem - they just need to get the problem solved in a way they understand.

I do acknowledge the feedback about it 'breaking' the visual nature of the flows. But it is no more broken than the situation we already have with the Complete/Status/Catch nodes. They provide no visual indication as to what nodes they are 'connected' to. You have to open the edit dialog to see how they are configured. Yes, that edit dialog gives you the information more easily than scanning though a Function node's code to spot the linkcall uses - but the complaint was about the visual nature.

We already have an issue on the backlog for reviewing the general appearance of nodes. Part of that is looking at how we can add some visual indicator to nodes that have 'virtual' connections to other nodes - and provide a means to navigate those connections. This was already something we intended to do for the existing nodes (Complete/Status/Catch) before the linkcall concept came along - we just hadn't explicitly linked the two thoughts together.

It's unlikely this will happen in time for 5.0, but it will happen.

15 Likes