mirror of
https://github.com/node-red/node-red.git
synced 2025-03-01 10:36:34 +00:00
Merge branch 'master' into importNodes-refactoring
This commit is contained in:
commit
a67e89ee67
23
CHANGELOG.md
23
CHANGELOG.md
@ -1,3 +1,26 @@
|
|||||||
|
#### 3.1.10: Maintenance Release
|
||||||
|
|
||||||
|
- Include rewired nodes when calculating Modified Flows stop list (#4754) @knolleary
|
||||||
|
- Fix clone of group env var properties (#4753) @knolleary
|
||||||
|
- Fix losing links when importing a copy of links into a subflow (#4750) @GogoVega
|
||||||
|
- Ensure all CSS variables are in the output file (#3743) @bonanitech
|
||||||
|
- Fix the Sidebar Config is not refreshed after a deploy (#4734) @GogoVega
|
||||||
|
- Fix checkboxes are not updated when calling `typedInput("value", "")` (#4729) @GogoVega
|
||||||
|
- Fix panning with middle mouse button on windows 10/11 (#4716) @corentin-sodebo-voile
|
||||||
|
- Add Japanese translation for sidebar tooltip (#4727) @kazuhitoyokoi
|
||||||
|
- Translate the number of items selected in the options list (#4730) @GogoVega
|
||||||
|
- Fix a checkbox should return a Boolean value and not the string `on` (#4715) @GogoVega
|
||||||
|
- Deleting a grouped node should update the group (#4714) @GogoVega
|
||||||
|
- Change the Config Node cursor to `pointer` (#4711) @GogoVega
|
||||||
|
- Add missing tooltips to Sidebar (#4713) @GogoVega
|
||||||
|
- Allow nodes to return additional history entries in onEditSave (#4710) @knolleary
|
||||||
|
- Pass full error object in Function node and copy over cause property (#4685) @knolleary
|
||||||
|
- Replacing vm.createScript in favour of vm.Script (#4534) @patlux
|
||||||
|
- Avoid login loops when autoLogin enabled but login fails (#4684) @knolleary
|
||||||
|
- Fix undo of subflow env property edits (#4667) @knolleary
|
||||||
|
- Fix three error typos in monaco.js (#4660) @JoshuaCWebDeveloper
|
||||||
|
- docs: Add closing paragraph tag (#4664) @ZJvandeWeg
|
||||||
|
|
||||||
#### 3.1.9: Maintenance Release
|
#### 3.1.9: Maintenance Release
|
||||||
|
|
||||||
- Prevent subflow being added to itself (#4654) @knolleary
|
- Prevent subflow being added to itself (#4654) @knolleary
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "node-red",
|
"name": "node-red",
|
||||||
"version": "3.1.9",
|
"version": "3.1.10",
|
||||||
"description": "Low-code programming for event-driven applications",
|
"description": "Low-code programming for event-driven applications",
|
||||||
"homepage": "https://nodered.org",
|
"homepage": "https://nodered.org",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@node-red/editor-api",
|
"name": "@node-red/editor-api",
|
||||||
"version": "3.1.9",
|
"version": "3.1.10",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"main": "./lib/index.js",
|
"main": "./lib/index.js",
|
||||||
"repository": {
|
"repository": {
|
||||||
@ -16,8 +16,8 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@node-red/util": "3.1.9",
|
"@node-red/util": "3.1.10",
|
||||||
"@node-red/editor-client": "3.1.9",
|
"@node-red/editor-client": "3.1.10",
|
||||||
"bcryptjs": "2.4.3",
|
"bcryptjs": "2.4.3",
|
||||||
"body-parser": "1.20.2",
|
"body-parser": "1.20.2",
|
||||||
"clone": "2.1.2",
|
"clone": "2.1.2",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@node-red/editor-client",
|
"name": "@node-red/editor-client",
|
||||||
"version": "3.1.9",
|
"version": "3.1.10",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@node-red/nodes",
|
"name": "@node-red/nodes",
|
||||||
"version": "3.1.9",
|
"version": "3.1.10",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@node-red/registry",
|
"name": "@node-red/registry",
|
||||||
"version": "3.1.9",
|
"version": "3.1.10",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"main": "./lib/index.js",
|
"main": "./lib/index.js",
|
||||||
"repository": {
|
"repository": {
|
||||||
@ -16,7 +16,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@node-red/util": "3.1.9",
|
"@node-red/util": "3.1.10",
|
||||||
"clone": "2.1.2",
|
"clone": "2.1.2",
|
||||||
"fs-extra": "11.1.1",
|
"fs-extra": "11.1.1",
|
||||||
"semver": "7.5.4",
|
"semver": "7.5.4",
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
const flowUtil = require("./util");
|
const flowUtil = require("./util");
|
||||||
const credentials = require("../nodes/credentials");
|
const credentials = require("../nodes/credentials");
|
||||||
|
const clone = require("clone");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class represents a group within the runtime.
|
* This class represents a group within the runtime.
|
||||||
|
@ -462,9 +462,8 @@ function stop(type,diff,muteLog,isDeploy) {
|
|||||||
if (type === 'nodes') {
|
if (type === 'nodes') {
|
||||||
stopList = diff.changed.concat(diff.removed);
|
stopList = diff.changed.concat(diff.removed);
|
||||||
} else if (type === 'flows') {
|
} else if (type === 'flows') {
|
||||||
stopList = diff.changed.concat(diff.removed).concat(diff.linked);
|
stopList = diff.changed.concat(diff.removed).concat(diff.linked).concat(diff.rewired);
|
||||||
}
|
}
|
||||||
|
|
||||||
events.emit("flows:stopping",{config: activeConfig, type: type, diff: diff})
|
events.emit("flows:stopping",{config: activeConfig, type: type, diff: diff})
|
||||||
|
|
||||||
// Stop the global flow object last
|
// Stop the global flow object last
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@node-red/runtime",
|
"name": "@node-red/runtime",
|
||||||
"version": "3.1.9",
|
"version": "3.1.10",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"main": "./lib/index.js",
|
"main": "./lib/index.js",
|
||||||
"repository": {
|
"repository": {
|
||||||
@ -16,8 +16,8 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@node-red/registry": "3.1.9",
|
"@node-red/registry": "3.1.10",
|
||||||
"@node-red/util": "3.1.9",
|
"@node-red/util": "3.1.10",
|
||||||
"async-mutex": "0.4.0",
|
"async-mutex": "0.4.0",
|
||||||
"clone": "2.1.2",
|
"clone": "2.1.2",
|
||||||
"express": "4.19.2",
|
"express": "4.19.2",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@node-red/util",
|
"name": "@node-red/util",
|
||||||
"version": "3.1.9",
|
"version": "3.1.10",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
10
packages/node_modules/node-red/package.json
vendored
10
packages/node_modules/node-red/package.json
vendored
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "node-red",
|
"name": "node-red",
|
||||||
"version": "3.1.9",
|
"version": "3.1.10",
|
||||||
"description": "Low-code programming for event-driven applications",
|
"description": "Low-code programming for event-driven applications",
|
||||||
"homepage": "https://nodered.org",
|
"homepage": "https://nodered.org",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
@ -31,10 +31,10 @@
|
|||||||
"flow"
|
"flow"
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@node-red/editor-api": "3.1.9",
|
"@node-red/editor-api": "3.1.10",
|
||||||
"@node-red/runtime": "3.1.9",
|
"@node-red/runtime": "3.1.10",
|
||||||
"@node-red/util": "3.1.9",
|
"@node-red/util": "3.1.10",
|
||||||
"@node-red/nodes": "3.1.9",
|
"@node-red/nodes": "3.1.10",
|
||||||
"basic-auth": "2.0.1",
|
"basic-auth": "2.0.1",
|
||||||
"bcryptjs": "2.4.3",
|
"bcryptjs": "2.4.3",
|
||||||
"express": "4.19.2",
|
"express": "4.19.2",
|
||||||
|
@ -16,6 +16,31 @@ describe('Group', function () {
|
|||||||
group.getSetting("NR_GROUP_NAME").should.equal("g1")
|
group.getSetting("NR_GROUP_NAME").should.equal("g1")
|
||||||
group.getSetting("NR_GROUP_ID").should.equal("group1")
|
group.getSetting("NR_GROUP_ID").should.equal("group1")
|
||||||
})
|
})
|
||||||
|
it("returns cloned env var property", async function () {
|
||||||
|
const group = new Group({
|
||||||
|
getSetting: v => v+v
|
||||||
|
}, {
|
||||||
|
name: "g1",
|
||||||
|
id: "group1",
|
||||||
|
env: [
|
||||||
|
{
|
||||||
|
name: 'jsonEnvVar',
|
||||||
|
type: 'json',
|
||||||
|
value: '{"a":1}'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
})
|
||||||
|
await group.start()
|
||||||
|
const result = group.getSetting('jsonEnvVar')
|
||||||
|
result.should.have.property('a', 1)
|
||||||
|
result.a = 2
|
||||||
|
result.b = 'hello'
|
||||||
|
|
||||||
|
const result2 = group.getSetting('jsonEnvVar')
|
||||||
|
result2.should.have.property('a', 1)
|
||||||
|
result2.should.not.have.property('b')
|
||||||
|
|
||||||
|
})
|
||||||
it("delegates to parent if not found", async function () {
|
it("delegates to parent if not found", async function () {
|
||||||
const group = new Group({
|
const group = new Group({
|
||||||
getSetting: v => v+v
|
getSetting: v => v+v
|
||||||
|
Loading…
x
Reference in New Issue
Block a user