diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index 5d4d87bb7..07efaf18e 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -28,7 +28,7 @@ To help us understand the issue, please fill-in as much of the following informa ### Please tell us about your environment: - [ ] Node-RED version: -- [ ] node.js version: +- [ ] Node.js version: - [ ] npm version: - [ ] Platform/OS: - [ ] Browser: diff --git a/.github/ISSUE_TEMPLATE/--bug_report.md b/.github/ISSUE_TEMPLATE/--bug_report.md index ff13e2ace..63923455e 100644 --- a/.github/ISSUE_TEMPLATE/--bug_report.md +++ b/.github/ISSUE_TEMPLATE/--bug_report.md @@ -33,7 +33,7 @@ To help us understand the issue, please fill-in as much of the following informa ### Please tell us about your environment: - [ ] Node-RED version: -- [ ] node.js version: +- [ ] Node.js version: - [ ] npm version: - [ ] Platform/OS: - [ ] Browser: diff --git a/CHANGELOG.md b/CHANGELOG.md index 9bb84978a..793b5c565 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -725,7 +725,7 @@ Nodes - Initial support of sequence rules for SWITCH node (#1545) - initial support of SORT node (#1500) - Inject node - let once delay be editable (#1541) - - Introduce `nodeMaxMessageBufferLength` setting for msg sequence nodes + - Introduce `nodeMessageBufferMaxLength` setting for msg sequence nodes - Let CSV correct parts if we remove header row. - let default apply if msg.delay not set in override mode. (#1397) - let trigger node be reset by boolean message (#1554) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 33a2f582f..f0f4096c5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -26,7 +26,7 @@ relevant nodes, press Ctrl-E and copy the flow data from the Export dialog. At a minimum, please include: - Version of Node-RED - either release number if you downloaded a zip, or the first few lines of `git log` if you are cloning the repository directly. - - Version of node.js - what does `node -v` say? + - Version of Node.js - what does `node -v` say? ## Feature requests diff --git a/packages/node_modules/@node-red/editor-api/lib/admin/index.js b/packages/node_modules/@node-red/editor-api/lib/admin/index.js index 32bf010c5..50d7b168f 100644 --- a/packages/node_modules/@node-red/editor-api/lib/admin/index.js +++ b/packages/node_modules/@node-red/editor-api/lib/admin/index.js @@ -48,13 +48,13 @@ module.exports = { // Nodes adminApp.get("/nodes",needsPermission("nodes.read"),nodes.getAll,apiUtil.errorHandler); adminApp.post("/nodes",needsPermission("nodes.write"),nodes.post,apiUtil.errorHandler); - adminApp.get(/\/nodes\/messages/,needsPermission("nodes.read"),nodes.getModuleCatalogs,apiUtil.errorHandler); - adminApp.get(/\/nodes\/((@[^\/]+\/)?[^\/]+\/[^\/]+)\/messages/,needsPermission("nodes.read"),nodes.getModuleCatalog,apiUtil.errorHandler); - adminApp.get(/\/nodes\/((@[^\/]+\/)?[^\/]+)$/,needsPermission("nodes.read"),nodes.getModule,apiUtil.errorHandler); - adminApp.put(/\/nodes\/((@[^\/]+\/)?[^\/]+)$/,needsPermission("nodes.write"),nodes.putModule,apiUtil.errorHandler); - adminApp.delete(/\/nodes\/((@[^\/]+\/)?[^\/]+)$/,needsPermission("nodes.write"),nodes.delete,apiUtil.errorHandler); - adminApp.get(/\/nodes\/((@[^\/]+\/)?[^\/]+)\/([^\/]+)$/,needsPermission("nodes.read"),nodes.getSet,apiUtil.errorHandler); - adminApp.put(/\/nodes\/((@[^\/]+\/)?[^\/]+)\/([^\/]+)$/,needsPermission("nodes.write"),nodes.putSet,apiUtil.errorHandler); + adminApp.get(/^\/nodes\/messages/,needsPermission("nodes.read"),nodes.getModuleCatalogs,apiUtil.errorHandler); + adminApp.get(/^\/nodes\/((@[^\/]+\/)?[^\/]+\/[^\/]+)\/messages/,needsPermission("nodes.read"),nodes.getModuleCatalog,apiUtil.errorHandler); + adminApp.get(/^\/nodes\/((@[^\/]+\/)?[^\/]+)$/,needsPermission("nodes.read"),nodes.getModule,apiUtil.errorHandler); + adminApp.put(/^\/nodes\/((@[^\/]+\/)?[^\/]+)$/,needsPermission("nodes.write"),nodes.putModule,apiUtil.errorHandler); + adminApp.delete(/^\/nodes\/((@[^\/]+\/)?[^\/]+)$/,needsPermission("nodes.write"),nodes.delete,apiUtil.errorHandler); + adminApp.get(/^\/nodes\/((@[^\/]+\/)?[^\/]+)\/([^\/]+)$/,needsPermission("nodes.read"),nodes.getSet,apiUtil.errorHandler); + adminApp.put(/^\/nodes\/((@[^\/]+\/)?[^\/]+)\/([^\/]+)$/,needsPermission("nodes.write"),nodes.putSet,apiUtil.errorHandler); // Context adminApp.get("/context/:scope(global)",needsPermission("context.read"),context.get,apiUtil.errorHandler); diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js b/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js index 4fa779269..1abace286 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js @@ -526,7 +526,7 @@ RED.editor = (function() { } else if (node.type.indexOf("subflow:")===0) { var subflow = RED.nodes.subflow(node.type.substring(8)); label = RED._("subflow.editSubflowInstance",{name:RED.utils.sanitize(subflow.name)}) - } else { + } else if (node._def !== undefined) { if (typeof node._def.paletteLabel !== "undefined") { try { label = RED.utils.sanitize((typeof node._def.paletteLabel === "function" ? node._def.paletteLabel.call(node._def) : node._def.paletteLabel)||""); diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/palette.js b/packages/node_modules/@node-red/editor-client/src/js/ui/palette.js index 256c8eb1b..359d0dead 100755 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/palette.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/palette.js @@ -152,7 +152,7 @@ RED.palette = (function() { function getPaletteNode(type) { return $(".red-ui-palette-node[data-palette-type='"+type+"']"); } - + function addNodeType(nt,def) { if (getPaletteNode(nt).length) { return; @@ -241,7 +241,6 @@ RED.palette = (function() { RED.sidebar.info.set(helpText,RED._("sidebar.info.nodeHelp")); }); var chart = $("#red-ui-workspace-chart"); - var chartOffset = chart.offset(); var chartSVG = $("#red-ui-workspace-chart>svg").get(0); var activeSpliceLink; var mouseX; @@ -265,8 +264,8 @@ RED.palette = (function() { ui.originalPosition.left = $('#' + e.target.id).offset().left; if (def.inputs > 0 && def.outputs > 0) { - mouseX = ui.position.left-paletteWidth+(ui.helper.width()/2) - chartOffset.left + chart.scrollLeft(); - mouseY = ui.position.top-paletteTop+(ui.helper.height()/2) - chartOffset.top + chart.scrollTop(); + mouseX = ui.position.left - paletteWidth + (ui.helper.width()/2) + chart.scrollLeft(); + mouseY = ui.position.top - paletteTop + (ui.helper.height()/2) + chart.scrollTop(); if (!spliceTimer) { spliceTimer = setTimeout(function() { var nodes = []; diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/view.js b/packages/node_modules/@node-red/editor-client/src/js/ui/view.js index 57cce2852..0a3438264 100755 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/view.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/view.js @@ -3166,7 +3166,7 @@ RED.view = (function() { var statusClass = "red-ui-flow-node-status-"+(d.status.shape||"dot")+"-"+d.status.fill; thisNode.selectAll(".red-ui-flow-node-status").style("display","inline").attr("class","red-ui-flow-node-status "+statusClass); } - if (d.status.text) { + if (d.status.hasOwnProperty('text')) { thisNode.selectAll(".red-ui-flow-node-status-label").text(d.status.text); } else { thisNode.selectAll(".red-ui-flow-node-status-label").text(""); diff --git a/packages/node_modules/@node-red/nodes/core/core/lib/debug/debug-utils.js b/packages/node_modules/@node-red/nodes/core/core/lib/debug/debug-utils.js index 10888cbad..a1b44ae97 100644 --- a/packages/node_modules/@node-red/nodes/core/core/lib/debug/debug-utils.js +++ b/packages/node_modules/@node-red/nodes/core/core/lib/debug/debug-utils.js @@ -42,14 +42,14 @@ RED.debug = (function() { var content = $("
When configured to delay messages, the delay interval can be a fixed value, diff --git a/packages/node_modules/@node-red/nodes/locales/ja/core/89-delay.html b/packages/node_modules/@node-red/nodes/locales/ja/core/89-delay.html index 43eda93a7..ed5046f03 100644 --- a/packages/node_modules/@node-red/nodes/locales/ja/core/89-delay.html +++ b/packages/node_modules/@node-red/nodes/locales/ja/core/89-delay.html @@ -22,6 +22,8 @@
メッセージを遅延させるように設定する場合、遅延時間は固定値、範囲内の乱数値、メッセージ毎の動的な指定値のいずれかを指定できます。
diff --git a/packages/node_modules/@node-red/runtime/lib/index.js b/packages/node_modules/@node-red/runtime/lib/index.js index 58b7df986..66bff6ff2 100644 --- a/packages/node_modules/@node-red/runtime/lib/index.js +++ b/packages/node_modules/@node-red/runtime/lib/index.js @@ -129,7 +129,7 @@ function start() { log.info(log._("runtime.version",{component:"Node.js ",version:process.version})); if (settings.UNSUPPORTED_VERSION) { log.error("*****************************************************************"); - log.error("* "+log._("runtime.unsupported_version",{component:"Node.js",version:process.version,requires: ">=4"})+" *"); + log.error("* "+log._("runtime.unsupported_version",{component:"Node.js",version:process.version,requires: ">=8.9.0"})+" *"); log.error("*****************************************************************"); events.emit("runtime-event",{id:"runtime-unsupported-version",payload:{type:"error",text:"notification.errors.unsupportedVersion"},retain:true}); } diff --git a/packages/node_modules/@node-red/runtime/lib/nodes/context/index.js b/packages/node_modules/@node-red/runtime/lib/nodes/context/index.js index f8de26070..322fa2868 100644 --- a/packages/node_modules/@node-red/runtime/lib/nodes/context/index.js +++ b/packages/node_modules/@node-red/runtime/lib/nodes/context/index.js @@ -234,7 +234,7 @@ function createContext(id,seed,parent) { if (err.code === "INVALID_EXPR") { throw err; } - value[0] = undefined; + values[0] = undefined; } } } else { @@ -246,7 +246,7 @@ function createContext(id,seed,parent) { if (err.code === "INVALID_EXPR") { throw err; } - value[i] = undefined; + values[i] = undefined; } } } diff --git a/packages/node_modules/@node-red/runtime/lib/storage/localfilesystem/projects/ssh/keygen.js b/packages/node_modules/@node-red/runtime/lib/storage/localfilesystem/projects/ssh/keygen.js index 218144c12..5555f841b 100644 --- a/packages/node_modules/@node-red/runtime/lib/storage/localfilesystem/projects/ssh/keygen.js +++ b/packages/node_modules/@node-red/runtime/lib/storage/localfilesystem/projects/ssh/keygen.js @@ -51,6 +51,12 @@ function runSshKeygenCommand(args,cwd,env) { resolve(stdout); } }); + child.error('error', function(err) { + if (/ENOENT/.test(err.toString())) { + err.code = "command_not_found"; + } + reject(err); + }); }); } diff --git a/packages/node_modules/node-red/lib/red.js b/packages/node_modules/node-red/lib/red.js index 2a04df578..4d7269518 100644 --- a/packages/node_modules/node-red/lib/red.js +++ b/packages/node_modules/node-red/lib/red.js @@ -27,9 +27,9 @@ var apiEnabled = false; function checkVersion(userSettings) { var semver = require('semver'); - if (!semver.satisfies(process.version,">=4.8.0")) { + if (!semver.satisfies(process.version,">=8.9.0")) { // TODO: in the future, make this a hard error. - // var e = new Error("Unsupported version of node.js"); + // var e = new Error("Unsupported version of Node.js"); // e.code = "unsupported_version"; // throw e; userSettings.UNSUPPORTED_VERSION = process.version; @@ -39,7 +39,7 @@ function checkVersion(userSettings) { * This module provides the full Node-RED application, with both the runtime * and editor components built in. * - * The API this module exposes allows it to be embedded within another node.js + * The API this module exposes allows it to be embedded within another Node.js * application. * * @namespace node-red diff --git a/packages/node_modules/node-red/red.js b/packages/node_modules/node-red/red.js index 337eb44e8..94cebdfaa 100755 --- a/packages/node_modules/node-red/red.js +++ b/packages/node_modules/node-red/red.js @@ -197,10 +197,8 @@ try { RED.init(server,settings); } catch(err) { if (err.code == "unsupported_version") { - console.log("Unsupported version of node.js:",process.version); - console.log("Node-RED requires node.js v4 or later"); - } else if (err.code == "not_built") { - console.log("Node-RED has not been built. See README.md for details"); + console.log("Unsupported version of Node.js:",process.version); + console.log("Node-RED requires Node.js v8.9.0 or later"); } else { console.log("Failed to start server:"); if (err.stack) { diff --git a/packages/node_modules/node-red/settings.js b/packages/node_modules/node-red/settings.js index a15e533c5..679d24065 100644 --- a/packages/node_modules/node-red/settings.js +++ b/packages/node_modules/node-red/settings.js @@ -55,7 +55,7 @@ module.exports = { // The maximum number of messages nodes will buffer internally as part of their // operation. This applies across a range of nodes that operate on message sequences. // defaults to no limit. A value of 0 also means no limit is applied. - //nodeMaxMessageBufferLength: 0, + //nodeMessageBufferMaxLength: 0, // To disable the option for using local files for storing keys and certificates in the TLS configuration // node, set this to true