Merge branch 'master' into importNodes-refactoring

This commit is contained in:
GogoVega 2024-06-11 10:51:57 +02:00
commit a67e89ee67
No known key found for this signature in database
GPG Key ID: E1E048B63AC5AC2B
12 changed files with 67 additions and 19 deletions

View File

@ -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
- Prevent subflow being added to itself (#4654) @knolleary

View File

@ -1,6 +1,6 @@
{
"name": "node-red",
"version": "3.1.9",
"version": "3.1.10",
"description": "Low-code programming for event-driven applications",
"homepage": "https://nodered.org",
"license": "Apache-2.0",

View File

@ -1,6 +1,6 @@
{
"name": "@node-red/editor-api",
"version": "3.1.9",
"version": "3.1.10",
"license": "Apache-2.0",
"main": "./lib/index.js",
"repository": {
@ -16,8 +16,8 @@
}
],
"dependencies": {
"@node-red/util": "3.1.9",
"@node-red/editor-client": "3.1.9",
"@node-red/util": "3.1.10",
"@node-red/editor-client": "3.1.10",
"bcryptjs": "2.4.3",
"body-parser": "1.20.2",
"clone": "2.1.2",

View File

@ -1,6 +1,6 @@
{
"name": "@node-red/editor-client",
"version": "3.1.9",
"version": "3.1.10",
"license": "Apache-2.0",
"repository": {
"type": "git",

View File

@ -1,6 +1,6 @@
{
"name": "@node-red/nodes",
"version": "3.1.9",
"version": "3.1.10",
"license": "Apache-2.0",
"repository": {
"type": "git",

View File

@ -1,6 +1,6 @@
{
"name": "@node-red/registry",
"version": "3.1.9",
"version": "3.1.10",
"license": "Apache-2.0",
"main": "./lib/index.js",
"repository": {
@ -16,7 +16,7 @@
}
],
"dependencies": {
"@node-red/util": "3.1.9",
"@node-red/util": "3.1.10",
"clone": "2.1.2",
"fs-extra": "11.1.1",
"semver": "7.5.4",

View File

@ -1,5 +1,6 @@
const flowUtil = require("./util");
const credentials = require("../nodes/credentials");
const clone = require("clone");
/**
* This class represents a group within the runtime.

View File

@ -462,9 +462,8 @@ function stop(type,diff,muteLog,isDeploy) {
if (type === 'nodes') {
stopList = diff.changed.concat(diff.removed);
} 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})
// Stop the global flow object last

View File

@ -1,6 +1,6 @@
{
"name": "@node-red/runtime",
"version": "3.1.9",
"version": "3.1.10",
"license": "Apache-2.0",
"main": "./lib/index.js",
"repository": {
@ -16,8 +16,8 @@
}
],
"dependencies": {
"@node-red/registry": "3.1.9",
"@node-red/util": "3.1.9",
"@node-red/registry": "3.1.10",
"@node-red/util": "3.1.10",
"async-mutex": "0.4.0",
"clone": "2.1.2",
"express": "4.19.2",

View File

@ -1,6 +1,6 @@
{
"name": "@node-red/util",
"version": "3.1.9",
"version": "3.1.10",
"license": "Apache-2.0",
"repository": {
"type": "git",

View File

@ -1,6 +1,6 @@
{
"name": "node-red",
"version": "3.1.9",
"version": "3.1.10",
"description": "Low-code programming for event-driven applications",
"homepage": "https://nodered.org",
"license": "Apache-2.0",
@ -31,10 +31,10 @@
"flow"
],
"dependencies": {
"@node-red/editor-api": "3.1.9",
"@node-red/runtime": "3.1.9",
"@node-red/util": "3.1.9",
"@node-red/nodes": "3.1.9",
"@node-red/editor-api": "3.1.10",
"@node-red/runtime": "3.1.10",
"@node-red/util": "3.1.10",
"@node-red/nodes": "3.1.10",
"basic-auth": "2.0.1",
"bcryptjs": "2.4.3",
"express": "4.19.2",

View File

@ -16,6 +16,31 @@ describe('Group', function () {
group.getSetting("NR_GROUP_NAME").should.equal("g1")
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 () {
const group = new Group({
getSetting: v => v+v