diff --git a/packages/node_modules/@node-red/runtime/lib/flows/index.js b/packages/node_modules/@node-red/runtime/lib/flows/index.js index 89ba9d822..fa6649263 100644 --- a/packages/node_modules/@node-red/runtime/lib/flows/index.js +++ b/packages/node_modules/@node-red/runtime/lib/flows/index.js @@ -436,7 +436,8 @@ function stop(type,diff,muteLog,isDeploy) { changed:[], removed:[], rewired:[], - linked:[] + linked:[], + flowChanged:[] }; if (!muteLog) { if (type !== "full") { @@ -471,7 +472,7 @@ function stop(type,diff,muteLog,isDeploy) { activeFlowIds.forEach(id => { if (activeFlows.hasOwnProperty(id)) { - var flowStateChanged = diff && (diff.changed.indexOf(id) !== -1 || diff.added.indexOf(id) !== -1 || diff.removed.indexOf(id) !== -1); + var flowStateChanged = diff && (diff.flowChanged.indexOf(id) !== -1 || diff.added.indexOf(id) !== -1 || diff.removed.indexOf(id) !== -1); log.debug("red/nodes/flows.stop : stopping flow : "+id); promises.push(activeFlows[id].stop(flowStateChanged?null:stopList,removedList)); if (type === "full" || flowStateChanged || diff.removed.indexOf(id)!==-1) { diff --git a/packages/node_modules/@node-red/runtime/lib/flows/util.js b/packages/node_modules/@node-red/runtime/lib/flows/util.js index ed30a3816..7eefe86c4 100644 --- a/packages/node_modules/@node-red/runtime/lib/flows/util.js +++ b/packages/node_modules/@node-red/runtime/lib/flows/util.js @@ -356,6 +356,7 @@ function diffConfigs(oldConfig, newConfig) { var added = {}; var removed = {}; var changed = {}; + var flowChanged = {}; var wiringChanged = {}; var globalConfigChanged = false; var linkMap = {}; @@ -454,9 +455,9 @@ function diffConfigs(oldConfig, newConfig) { } } } - } else { + } else if (!removed[id]) { if (JSON.stringify(node.env) !== JSON.stringify(newConfig.allNodes[id].env)) { - changed[id] = newConfig.allNodes[id]; + flowChanged[id] = newConfig.allNodes[id]; } } } @@ -625,6 +626,7 @@ function diffConfigs(oldConfig, newConfig) { removed:Object.keys(removed), rewired:Object.keys(wiringChanged), linked:[], + flowChanged: Object.keys(flowChanged), globalConfigChanged }