I keep expecting to find a little X button on the titlebar of each side panel.
I'm looking at the panel thinking "I don't want to see that just now", then to close it I have to switch attention to the buttons at bottom right and work out which button is for which panel.
That and the overlap on the right side with searched-for nodes being hidden under that sidebar so that I end up looking all over and then remove the side bar to finally find the node that was found.
When using a http request node with a binary buffer i noticed that the status remains on 'requesting' (not a browser issue? both chrome/safari show it even after quitting the browser and reopening node-red)
The http req node remained in that 'requesting' state - it was fed into a function node that uses an external npm lib - disconnected the function node, deploy, requesting state gone, reconnected it and 'requesting' now behaves normally.
ie. i cannot reproduce it. Does the http request node 'care' about the result of the next node ?
I think I had this because Node-RED actually crashed and never sent the clear status call.
EDIT:
Ok, turns out it was a probably an endless loop that causes non-responsiveness in NR. So NR didn't really crash but just staled. I can reproduce this using this bit of code in the node:
module.exports = function(RED) {
function CorecrasherFunctionality(config) {
RED.nodes.createNode(this,config);
var node = this;
var cfg = config;
node.on('close', function() {
node.status({});
});
/* msg handler, in this case pass the message on unchanged */
node.on("input", function(msg, send, done) {
node.status({ fill: "green", shape: "ring", text: "Requesting" });
setTimeout( () => {
node.status({});
},3000)
// this enters an endless loop that eventually crashes NR
setTimeout( () => {
while (true) {
setTimeout(() => { }, 0)
}
},1000)
});
}
RED.nodes.registerType("crasher", CorecrasherFunctionality);
}
this will eventually cause this:
node-red-empty500-1 | <--- Last few GCs --->
node-red-empty500-1 |
node-red-empty500-1 | [7:0xffffa0950000] 32633 ms: Scavenge (interleaved) 4047.6 (4065.9) -> 4047.6 (4112.9) MB, pooled: 0 MB, 15.98 / 0.00 ms (average mu = 0.164, current mu = 0.148) allocation failure;
node-red-empty500-1 | [7:0xffffa0950000] 34420 ms: Mark-Compact (reduce) 4048.0 (4112.9) -> 4048.0 (4051.2) MB, pooled: 0 MB, 1686.27 / 0.00 ms (+ 20.1 ms in 6 steps since start of marking, biggest step 5.0 ms, walltime since start of marking 1710 ms) (average mu = 0.118,
node-red-empty500-1 | FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
node-red-empty500-1 | ----- Native stack trace -----
node-red-empty500-1 |