🎉 Node-RED 3.1.0-beta.2 released

Yes, I have all my flow edit panels zoomed out. Right click, insert junction

With this release we have deprecated calling evaluateJSONataExpression without a callback argument. By extension, evaluateNodeProperty will require a callback if being used with JSONata.

Will these calls support async/await syntax as well? It would make migration easier.

Making them async functions would be a major breaking change. We would have to provide async alternatives, although it is easy enough to promisify the functions in the node, keeping backward compatibility.

I have found a problem with the Delay node in Beta 2.
If a Delay node configured in Rate Limit mode, All Messages then I see the following problems

  1. If a message containing {flush: 1} is sent in when the queue is empty then the flush message is passed on, which it should not (and does not in 3.0).
  2. If some messages are in the queue and the flush message is sent in then the first message in the queue is passed on, but the flush message is added to the back of the queue, so that at the appropriate time in the future the flush message is released.

In fact, thinking about it these are probably both the same problem.

In the sample flow, after deploying click Flush and the flush message is passed on. Then click the timestamp inject a couple of times and then Flush to see symptom 2.

[{"id":"338de41d7f29e4fc","type":"delay","z":"bdd7be38.d3b55","name":"Queue","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"5","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":330,"y":2080,"wires":[["3903cee152a2a110"]]},{"id":"3903cee152a2a110","type":"debug","z":"bdd7be38.d3b55","name":"debug 86","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":500,"y":2080,"wires":[]},{"id":"e9e2846b840985fd","type":"inject","z":"bdd7be38.d3b55","name":"Flush","props":[{"p":"flush","v":"1","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":130,"y":2140,"wires":[["338de41d7f29e4fc"]]},{"id":"610ca62114e4d709","type":"inject","z":"bdd7be38.d3b55","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":100,"y":2080,"wires":[["338de41d7f29e4fc"]]}]
1 Like

In the Beta, if I have a group and mark it by dragging a rectangle over it, and hit Delete then it deletes the group contents but not the group itself.


I have also noticed the anomaly when deleting a group

Does anyone else see this behaviour? I have noticed it on a couple of flows on a Raspberry with 3.1.0-beta 2
A simple flow with Inject - Function - Debug. I can inject but nothing emerges from the debug.

Edit - Resolved. Operator error.

Seems to be working ok for me.

I am not on beta, but what I have noticed lately very similarly: when i leave the editor open and unused for a longer period of time, everything remains functional later on (ie, i can change/deploy etc), but no more debug messages will appear until I refresh the browser. (similar like a behaviour where webpages lose their websocket connection). Not been able to determine the root cause yet.

If you add another inject node and feed that direct to the debug node does it show it?

@jbudd , Also export the function node and the debug node, then copy and paste those two nodes and export the copies. Compare the two exports to see what is the difference.

Please post the flow (verify it is still problematic).

Nothing from the debug node.

The only differences are in the id numbers, x,y values and the (default) name of the debug node. I don't see any clues there.

I already said that the flow works if I copy & paste or export & import it so I doubt if it helps but here it is

        "id": "0c622860a2ab6c7b",
        "type": "inject",
        "z": "12f7dc31296fd47a",
        "name": "",
        "props": [
                "p": "payload"
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 180,
        "y": 120,
        "wires": [
        "id": "5b5597acbac99087",
        "type": "function",
        "z": "12f7dc31296fd47a",
        "name": "Multi-line",
        "func": "node.warn (\"In function\")\nreturn msg",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 360,
        "y": 120,
        "wires": [
        "id": "d2b45491d5cfd244",
        "type": "debug",
        "z": "12f7dc31296fd47a",
        "name": "debug 248",
        "active": true,
        "tosidebar": true,
        "console": true,
        "tostatus": true,
        "complete": "true",
        "targetType": "full",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 530,
        "y": 120,
        "wires": []

Additional info - I set the debug node to output to system console and node.status, both of these options work, it's just the debug panel it doesn't show up in.

Have you got any filtering enabled in the debug sidebar?

Oh my god! I feel so stupid!
Thanks Nick.

Just confirming this one again. Same is true if you drag the bounds and ctrl-x - in that case, the bounded nodes are cut from the flow BUT they are not added to the clipboard so you can't paste them.

If you click on the group and ctrl-x, it works just fine.

When doing copy/paste with a bounding box around a group. If trying to paste, you get an error in the dev tools console:

@knolleary, when a deep link URL is used, should the targeted node be "selected"?

I feel this is the natural expectation.

Currently, opening the editor with a deep link to a node causes it to flash, but not be selected.