1
0
mirror of https://github.com/node-red/node-red.git synced 2023-10-10 13:36:53 +02:00
Commit Graph

332 Commits

Author SHA1 Message Date
Nick O'Leary
6f9e06e78d
Add validation of library plugin id and better error reporting 2021-02-19 14:39:42 +00:00
Nick O'Leary
c2347076f4
Handle errors when initialising library plugin 2021-02-19 14:01:33 +00:00
Nick O'Leary
c744af161d
Add support for settings object in plugin definition 2021-02-19 11:59:49 +00:00
Nick O'Leary
3f9a29730f
Add partial implementation of adding library sources via editor
This adds lots of commented out code that provides a settings panel
to add new library sources. It is incomplete as it doesn't actually
add/update the library sources on the runtime.

For 1.3, I'm focussing on allowing additional sources get added
via the settings file only. I've done enough work on the editor
side to convince myself more work is needed than I can justify
at this time on what is otherwise not going to be a widely
used feature.
2021-02-18 11:58:23 +00:00
Nick O'Leary
8a076c01ab
Support for library source plugins 2021-02-18 11:58:22 +00:00
Nick O'Leary
7d04353843
Merge pull request #2859 from node-red/fix-numeric-status
fix numeric status not displaying by ensuring it's a string
2021-02-16 14:32:14 +00:00
Hiroyasu Nishiyama
12c7238c72 revert diffConfigs args 2021-02-15 22:05:42 +09:00
Hiroyasu Nishiyama
b66468c4ea restart node only if node's group changes 2021-02-14 10:06:46 +09:00
Nick O'Leary
6336ab121e
Merge branch 'dev' into function-modules 2021-02-13 00:21:27 +00:00
Nick O'Leary
9c09ee3b71
Rework Function node module integration 2021-02-12 18:14:13 +00:00
Hiroyasu Nishiyama
1be337fbc5 make nodes with only group change not deployed by nodes deploy mode 2021-02-13 00:23:30 +09:00
Dave Conway-Jones
e86f6a841a
fix numeric status not displaying by ensuring it's a string 2021-02-05 11:36:26 +00:00
Nick O'Leary
735de2908a
Handle more valid language codes when validating lang params
Fixes #2856
2021-02-03 15:43:26 +00:00
Nick O'Leary
f5da2eb633
Merge branch 'master' into dev 2021-02-02 13:45:43 +00:00
Nick O'Leary
74db3e17d0
Restrict project file access to inside the project directory 2021-02-01 13:39:39 +00:00
Nick O'Leary
3a0074d96e
Merge branch 'master' into dev 2021-01-27 23:28:19 +00:00
Nick O'Leary
9b5ed8407f
Broaden lang verification to include * 2021-01-27 22:06:12 +00:00
Hiroyasu Nishiyama
4a1d66f210 update UI, Runtime API, metadata handling, and others 2021-01-27 22:27:54 +09:00
Nick O'Leary
1f6328bf4e
Add initial support for ThemePlugins 2021-01-26 13:49:47 +00:00
Nick O'Leary
a0f736bb88
Validate user-provided language parameter before passing to i18n 2021-01-25 17:06:27 +00:00
Nick O'Leary
a006b52052
Initial plugin runtime api implementation 2021-01-18 16:25:40 +00:00
Tiago Ferreira
55ff035fc9
Ability to add projects path to the settings file (#2816)
* add the ability to set the projects path

* Update packages/node_modules/@node-red/runtime/locales/en-US/runtime.json

use directory to keep consistency with the project

Co-authored-by: Nick O'Leary <nick.oleary@gmail.com>

* Update packages/node_modules/@node-red/runtime/lib/storage/localfilesystem/projects/index.js

only show the projects directory is projects are enabled

Co-authored-by: Nick O'Leary <nick.oleary@gmail.com>

* use "directory" instead of "folder" to keep consistency with the Node-RED project

Co-authored-by: Nick O'Leary <nick.oleary@gmail.com>
2021-01-18 13:18:07 +00:00
Hiroyasu Nishiyama
d51aefa156 initial support for npm module installation 2021-01-11 19:32:16 +09:00
Nick O'Leary
c40412d7c6
Merge pull request #2690 from node-red/sf-module
[sf-modules] Support npm subflow modules
2021-01-08 21:16:05 +00:00
Nick O'Leary
b0bc7ecacb
Merge pull request #2763 from node-red/simple-git-setting
Allow project workflow to be configured via settings file
2021-01-08 15:20:11 +00:00
Nick O'Leary
5489bd37c9
Fix handling of default workflow mode when projects not active 2021-01-08 15:05:34 +00:00
Nick O'Leary
da96c85d32
Handle subflow modules with their own npm dependencies 2021-01-07 11:26:20 +00:00
Nick O'Leary
814fc8bc69
Add SubflowModule class for running subflow modules 2021-01-07 11:10:58 +00:00
Nick O'Leary
0c9fd25d3e
Nodes log via parent flow to allow flow-info to be added 2021-01-07 11:10:34 +00:00
Nick O'Leary
9a660f3fe9
Support npm subflow modules 2021-01-07 11:10:33 +00:00
Nick O'Leary
7913b3cbc2
Merge branch 'master' into dev 2021-01-07 10:17:50 +00:00
Nick O'Leary
0284ef401e
Fix loading individual module catalog 2021-01-06 20:20:32 +00:00
Nick O'Leary
af19536222
Better logging when deprecated editorTheme.palette.* settings used 2021-01-06 17:36:59 +00:00
Nick O'Leary
9d2d060dec
Fix unit tests for externalModules 2020-12-27 20:59:31 +00:00
Nick O'Leary
aacb92a7ae
Implement allow/denyList when loading/installing modules 2020-12-27 12:49:17 +00:00
Nick O'Leary
fc459be531
Deprecate editorTheme.palette.editable for externalModules.palette.allowInstall
Also deprecates editorTheme.palette.editable for externalModules.palette.allowUpload
2020-12-23 23:29:07 +00:00
Nick O'Leary
3151502a3f
Deprecate autoInstallModules for externalModules.autoInstall 2020-12-23 22:05:58 +00:00
Nick O'Leary
496b5a092f
Ensure subflow credential objects exist
Fixes #2783
2020-12-15 17:20:22 +00:00
johnwang71
be828af3e2 Fix bug: Crash & quit while handling exception with undefine msg.error. i.e. flow with 3 nodes, http-in, delay 5-10s, http-out; client with 3s timeout request the flow; TypeError: Cannot read property 'hasOwnProperty' of undefined\r at Flow.handleError (/usr/src/node-red/node_modules/@node-red/runtime/lib/flows/Flow.js:474:27) 2020-12-14 18:18:50 +08:00
Nick O'Leary
fc7967d455
Fix missing promise on setUserSettings 2020-12-07 11:49:02 +00:00
Nick O'Leary
fca21ac126
Rename paletteEditorEnabled to installerEnabled 2020-12-07 11:49:01 +00:00
Nick O'Leary
6fb96fa3c1
Move exec and events components to util module
The exec and events components are common components that
are used by both runtime and registry. It makes sense to
move them into the util package.

This also adds some docs to the registry module
2020-12-07 11:49:01 +00:00
Nick O'Leary
a1f565f756
Use more async funcs in runtime/lib/api to reduce Promise creation 2020-12-07 11:49:01 +00:00
Nick O'Leary
5992ed1fab
Fully remove when.js dependency 2020-12-07 11:49:01 +00:00
Nathanaël Lécaudé
c5d38d8962
Library: properly handle symlinked folders 2020-11-25 21:08:43 +00:00
Nathanaël Lécaudé
b1c0d6b452 Library: properly handle symlinked folders 2020-11-24 18:29:39 -05:00
Nick O'Leary
0f7d185a61
Ensure runtime side picks up default project workflow mode 2020-11-18 16:37:39 +00:00
Nick O'Leary
f19ec5d9b6
Clear retained status of deleted nodes 2020-11-17 13:29:13 +00:00
Nick O'Leary
6ea978d83d
Prevent needless retention of node status messages 2020-11-16 21:05:13 +00:00
Nick O'Leary
9d7a450821
Add mutex lock to saveSettings storage call
Fixes #2736
2020-10-28 21:59:22 +00:00
Nick O'Leary
ff0be73b1f
Migrate to nyc instead of istanbul for code coverage 2020-10-19 21:10:34 +01:00
Nick O'Leary
12d56b8b03
Fix api call to reload flows
Fixes #2726
2020-10-19 12:56:40 +01:00
Nick O'Leary
e34f4acb22
Fix race condition in .config file migration
Fixes #2724
2020-10-15 16:21:28 +01:00
Nick O'Leary
af636870d4
Add better error message if context file gets corrupted 2020-10-06 15:42:52 +01:00
Nick O'Leary
517e376582
Restore support for runtimeSyncDelivery flag 2020-09-29 17:39:29 +01:00
Nick O'Leary
7a90fe5aec
Fix flow api unit tests 2020-09-29 17:35:43 +01:00
Nick O'Leary
ea45dde63a
Remove when.js from runtime/lib/flow/index 2020-09-29 17:20:01 +01:00
Nick O'Leary
22a301b55e
Add flows:* events and deprecate nodes-* events 2020-09-29 16:29:10 +01:00
Nick O'Leary
605177dcf0
Validate hook names when they are added 2020-09-29 16:28:52 +01:00
Nick O'Leary
460e1f5563
Fixup merge error 2020-09-29 12:19:27 +01:00
Nick O'Leary
6f25337b99
Add docs for RED.hooks 2020-09-29 12:19:27 +01:00
Nick O'Leary
08148a07b2
Update Node/Flow to trigger msg routing hooks 2020-09-29 12:19:27 +01:00
Nick O'Leary
27c0e45940
Remove unused router component 2020-09-29 12:19:27 +01:00
Nick O'Leary
bdd736315a
Add RED.hooks engine 2020-09-29 12:19:27 +01:00
Nick O'Leary
d57ec0cd53
Refactor lib/flows code to include initial router component 2020-09-29 12:19:26 +01:00
Nick O'Leary
c5bdd3d056
Allow user to manage project version string 2020-09-28 11:30:46 +01:00
Nick O'Leary
69d60ffb24
Add simplified git workflow to auto-commit changes 2020-09-28 10:41:33 +01:00
Nick O'Leary
e6ffa3d143
Cache settings when doing initial load 2020-09-28 10:41:05 +01:00
Nick O'Leary
bb4330e486
Clone settings before passing to storage layer
Avoids the storage layer modifying the in-memory object
2020-09-28 10:40:03 +01:00
Nick O'Leary
e12975cf0b
Do not remove old config.json file to ease downgrade path 2020-09-25 15:50:26 +01:00
Nick O'Leary
4d0c572c2e
Fix .config.json unit tests 2020-09-24 15:42:52 +01:00
Nick O'Leary
fb2da0ee9e
Split .config.json into separate files 2020-09-23 17:29:09 +01:00
Nick O'Leary
b8b0247717
Default flowFilePretty to true if projects enabled 2020-09-23 10:57:58 +01:00
Nick O'Leary
b7243c2226
Merge branch 'master' into dev 2020-09-16 11:54:34 +01:00
Nick O'Leary
70b6674f44
Replace Math.random with crypto.getBytes for session tokens 2020-09-11 14:09:54 +01:00
Nick O'Leary
ef67b8481e
Check file exists before trying to take backup 2020-09-11 13:26:00 +01:00
Melvin Groenhoff
d84c2b780b Fix this context when calling multiple event listeners (fixes #2692). 2020-09-04 10:20:30 +02:00
Nick O'Leary
4dd619b8c6
Merge branch 'master' into dev 2020-09-03 16:14:55 +01:00
Nick O'Leary
be880c25f9
Merge pull request #2682 from node-red/upload-npm
Add support for file upload on /nodes api
2020-09-03 15:01:31 +01:00
Nick O'Leary
17812f0d77
Merge pull request #2683 from node-red/write-to-temp
Update util.writeFile to write to tmp file before rename
2020-09-03 15:00:31 +01:00
Kunihiko Toumura
0c5586ddfb Add 'done' metric log for message tracing 2020-08-18 09:28:50 +09:00
Nick O'Leary
b0b2c32654
Update util.writeFile to write to tmp file before rename 2020-08-13 17:17:40 +01:00
Nick O'Leary
6f1ed76b4c
Add support for file upload in /nodes api 2020-08-13 15:54:54 +01:00
Rory A. Svage
f81cee0be2 Message 2020-08-07 16:44:52 -04:00
Nick O'Leary
e691b1b7c3
Add additional check for git auth failure response
Fixes #2656
2020-08-03 16:55:36 +01:00
Nick O'Leary
16c26d8098
Move runtime settings back to adminApi from editorApi
Fixes #2662
2020-07-31 15:26:21 +01:00
Nick O'Leary
fe4ef354ac
Flag a node as removed when it is disabled 2020-06-08 20:59:00 +01:00
Nick O'Leary
dec82589d1
Handle missing projects runtime setting 2020-06-02 22:53:05 +01:00
Nick O'Leary
f0193b0f67
Add better messages for 404 errors on admin api 2020-06-02 22:52:22 +01:00
Nick O'Leary
bae52613ab
Merge branch 'master' into dev 2020-06-01 09:38:39 +01:00
Sam Machin
a8d8540346
fix for settings.set subsequent updates
By cloning the value the assert.deepEqual will now fail even for subsequent updates of the value without restarting Node-RED
2020-05-31 13:44:31 +01:00
Nick O'Leary
1c94064c57
Remove unused _info/_type subflow env var magic values 2020-05-22 20:54:06 +01:00
Nick O'Leary
5d81cec00c
Merge branch 'pr_2498' into dev 2020-05-22 15:22:12 +01:00
Nick O'Leary
8ce49c25d4
Ensure auth failure on project fetch identifies the remote
Fixes #2545
2020-05-21 17:25:51 +01:00
Nick O'Leary
0de49e2a75
Ensure auth failure on project fetch identifies the remote
Fixes #2545
2020-05-21 17:18:46 +01:00
Nick O'Leary
05c3f459ad
Add #! lines to project shell scripts
Fixes #2548
2020-05-21 15:33:10 +01:00
Nick O'Leary
d7df20413d
Merge branch 'master' into dev 2020-05-04 11:41:44 +01:00
Nick O'Leary
97c771f93a
Ensure file context does not write 'undefined' to store
Fixes #2522
2020-04-08 11:32:39 +01:00
martinLim45
513957eea1
Set flow.disabled when disabled property is false 2020-04-07 16:41:49 +09:00
Hiroyasu Nishiyama
161f6090c1 update initialize & finalize processing of function node 2020-04-06 16:34:41 +09:00
Nick O'Leary
344c9fe57e
Merge branch 'master' into dev 2020-04-02 23:24:42 +01:00
Nick O'Leary
9d4400349b
Fix timer reference in node close handling 2020-04-02 23:24:18 +01:00
Nick O'Leary
6ff3286d78
Merge branch 'master' into dev 2020-04-02 16:52:55 +01:00
Nick O'Leary
a6ecb54cc4
Clear node.close timeout to avoid unnecessary work on restart 2020-03-31 19:25:20 +01:00
Nick O'Leary
294696daf5
Merge branch 'dev' into groups 2020-03-30 23:42:52 +01:00
Nick O'Leary
d099356207
Merge branch 'master' into dev 2020-03-30 23:42:40 +01:00
Nick O'Leary
5c06761b1a
Remove console.log from subflow 2020-03-30 23:42:30 +01:00
Nick O'Leary
05fc3c5eca
Merge branch 'master' into dev 2020-03-30 23:41:33 +01:00
Nick O'Leary
84771f5864
Flows/subflows must preinitialise their context objects
Fixes #2513

If a node inside a subflow accessed its context object in its
constructor, the subflow-instance flow context would not yet
have been created. This would cause a place holder context
to get created on its behalf, but that place holder doesn't
have its parent set properly. This then breaks the usage
of $parent inside such a subflow.

This fix has changed it so flows (and subflows) create their
flow context as part of their initial creation. That ensures
it exists when individual nodes from the subflow are created,
allowing them to safely access their context.

This has also fixed a related issue where any attempt to use
$parent to access beyond the root parent would seemingly hang
as the callback was never being called. This would cause
messages to get stuck in flows. The fix ensures the callback
is used in the root context objects and undefined is returned.
2020-03-27 23:47:12 +00:00
Nick O'Leary
4304d44851
Ensure complete node scope is remapped in subflows
Fixes #2514
2020-03-27 09:44:15 +00:00
Nick O'Leary
20f97d0d13
Add better handling of host-key-verify error with projects 2020-03-13 13:09:47 +00:00
Nick O'Leary
d1dd7d1d51
[groups] Support copy/paste/import/export of groups 2020-03-09 11:14:18 +00:00
Nick O'Leary
1830478ec3
Merge pull request #2461 from node-red/set-flow-with-creds
Allow credentials to be provided as part of /flows api
2020-02-24 16:22:57 +00:00
Nick O'Leary
d6b5494625
Allow credentials to be provided as part of /flows api 2020-02-13 16:44:48 +00:00
Nick O'Leary
f76edf74f9
Merge pull request #2454 from node-red/send-metric-fix
Move receive metric position to better reflect async changes
2020-02-13 10:08:24 +00:00
Kazuhito Yokoi
5c199d3bb4
Fix garbled characters in library (#2457)
* update getFileBody

* add suitable unit tests

Co-authored-by: Hiroyuki Okada <ok.okada.hiroyuki@gmail.com>
2020-02-12 16:35:33 +00:00
Nick O'Leary
cd210d9fbf
Add support for credential-stored env var in subflow 2020-02-10 11:28:56 +00:00
Nick O'Leary
1f8ed9dcb9
Merge branch 'master' into dev 2020-02-10 11:07:50 +00:00
Nick O'Leary
80d100f3f9
Move receive metric position to better reflect async changes
Fixes #2444
2020-02-07 16:49:41 +00:00
Nick O'Leary
7d32636133
Improve file store error when cache disabled and sync api used
Closes #2406
2020-02-07 14:26:30 +00:00
Nick O'Leary
6b52206186
Merge branch 'master' into dev 2020-01-22 11:54:24 +00:00
Nick O'Leary
95a51aafdc
Add path property to debug messages
Fixes #2358

This property can be used to identify the full path to the node that
logged a given message. If the node is inside a subflow (and maybe
nested many levels deep), this path can be used to help find the
node, rather than just the top-level subflow instance node.

A side-effect of this change is the Debug sidebar is now able to
show the message tools for a message coming from a deeply nested
subflow
2020-01-17 16:56:30 +00:00
Nick O'Leary
d45274494d
Merge branch 'master' into dev 2019-11-21 21:57:58 +00:00
Nick O'Leary
83c1e44925
Merge pull request #2371 from btsimonh/projects-flowsFile-absolute
flows file absolute path plus non-existent folder creation.
2019-11-21 10:44:20 +00:00
Dave Conway-Jones
2f4dcba54d
let subflow add node-red context to status
For all those nodes thaht don't specify it.
So that subflow status then works ok
2019-11-20 06:12:33 -05:00
KAZUHIRO ITO
ff96773295 Add node installation from other than public site 2019-11-11 18:25:36 +09:00
Simon Hailes
a4af7b8e21 localfilesystem - ensure folder is present before write (e.g. flows file not in user folder) 2019-11-03 09:10:32 +00:00
Simon Hailes
72deee5d74 Detect windows UNC '\\' as well as 'X:' as an absolute flow path - use the path.isAbsolute function instead of rolling our own. 2019-11-03 08:24:47 +00:00
TJKoury
cb8deab1f9
Update packages/node_modules/@node-red/runtime/lib/nodes/Node.js
Co-Authored-By: Nick O'Leary <nick.oleary@gmail.com>
2019-10-17 07:42:11 -04:00
TJKoury
e5c27d0236
Remove msg
`msg` not defined in scope.
2019-10-16 20:00:11 -04:00
Nick O'Leary
c1c694035d
Allow node.status() to be passed number/bool types
Adds to the existing support for string types. Also
adds unit tests for all three cases
2019-10-14 13:06:59 +01:00
Nick O'Leary
547e7a1b21
Allow node emitted events to have multiple arguments
This is fixing a regression introduced in 1.0 where a custom
`Node.emit` function was added that could only handle a single
argument.
2019-10-10 16:35:12 +01:00
Nick O'Leary
10077ae750
Use a more atomic process for writing context files
Fixes #2271
2019-08-21 16:54:26 +01:00
Nick O'Leary
b734097d16
Merge pull request #2227 from node-red/node-done
Adds Done callback to Input event handler
2019-08-21 11:15:00 +01:00
Nick O'Leary
880757fb5d
Rework Subflow Instance property UI (#2236)
* Add support of Subflow UI definition

* new UI definition for env var

* fix label

* fixed value obtaining

* fixed label width

* fix checkbox

* fix subflow info

* remove old subflow ui tests

* add tests

* merge ui new changes

* fix initial open button

* fix environment variable edit tab

* WIP: cp-1

* Rework subflow ui property

* Restrict SF value type according to input selection

* Move subflow property UI code to subflow.js

* Update subflow ui type select appearance

* Present subflow instance properties as table rather than generated UI

* Move subflow instance properties to separate tab

* Fix subflow property ui element layout issues
2019-08-12 15:01:54 +01:00
Nick O'Leary
e5255b0c7c
Ensure 2nd arg to node.error is an object
Fixes #2228
2019-08-12 14:36:26 +01:00
Nick O'Leary
16440072fb
Add audit log to project spec tests 2019-08-09 17:09:03 +01:00
Nick O'Leary
be2dd6dc32
Add req back to audit log events and extend to Projects api 2019-08-09 16:56:11 +01:00
Nick O'Leary
6032d096ec
Merge branch 'master' into dev 2019-08-06 17:13:00 +01:00
Nick O'Leary
defa9a2270
Fix ssh-keygen error handling 2019-08-06 17:12:40 +01:00
Nick O'Leary
7926055b97
Merge branch 'master' into dev 2019-08-06 16:10:33 +01:00
Nick O'Leary
87359937c9
Merge pull request #2256 from kazuhitoyokoi/master-fixerrorhandlingtostartserver
Use appropriate version of Node.js
2019-08-06 15:59:34 +01:00
Nick O'Leary
9b938f6515
Fix default value handling on context array access
Fixes #2252
2019-08-06 15:55:25 +01:00
Nick O'Leary
6c3913785d
Add error event handler to ssh-keygen child_process
Fixes #2255
2019-08-06 15:21:57 +01:00
Nick O'Leary
fb9828badc
Update Function node to add node.done 2019-08-06 14:27:56 +01:00
Kazuhito Yokoi
15b99c5749 Use appropriate the version of Node.js 2019-08-06 19:24:45 +09:00
Nick O'Leary
f52289b2c3
Add send to input handler signature 2019-07-09 11:40:55 +01:00
Nick O'Leary
3b5ea0f15f
Add node done API 2019-07-08 23:23:33 +01:00
Nick O'Leary
24b38407e4
Merge branch 'master' into dev 2019-07-01 12:43:16 +01:00
Nick O'Leary
f49d1ae860
Ensure the subflow stop promise is waiting for before restarting 2019-07-01 12:42:11 +01:00