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

796 Commits

Author SHA1 Message Date
Nick O'Leary
c90fd1e6d8 Move credential http API handling to api component 2015-11-04 11:13:43 +00:00
Nick O'Leary
71ecb89abc Merge branch 'flowengine' 2015-11-03 20:24:55 +00:00
Nick O'Leary
7b6bc1d3bc Increase default api request limit to 1mb
- expose it via settings.apiMaxLength
 - audit log api errors
2015-11-03 11:23:37 +00:00
Nick O'Leary
ab87fa9ce4 Ensure status/errors from global config nodes propagate properly 2015-11-03 10:20:00 +00:00
Nick O'Leary
d1940a023a Complete test coverage on flow engine refactor 2015-11-02 15:58:40 +00:00
Nick O'Leary
ec25191c98 Flow Engine refactor
Each flow/tab now exists as its own logical object. This is the ground
work for allowing flows to be added/removed/updated independently.
2015-11-02 15:58:29 +00:00
Nick O'Leary
f626ee060a Allow properties to be specified by environment variables
A property set to $(ABC) will be substituted with the environment
variable ABC - if it exists. If the property doesn't exist, the property
is left unchanged.
2015-10-23 22:14:39 +01:00
Nick O'Leary
d668d43a0a Move to express 4.x 2015-10-02 21:27:31 +01:00
Dave Conway-Jones
cc6e0937a0 initialise status.text to be blank string if not set.
(and change test to use .text rather than .message)
(not that it matters at this level of test)
2015-10-02 21:27:30 +01:00
Nick O'Leary
a6644ad5ff Add status node 2015-10-02 21:27:29 +01:00
Nick O'Leary
cbdd4de630 Errors in subflows propagate up to nearest catch node 2015-10-02 21:27:29 +01:00
Nick O'Leary
3a6192bf73 Catch node can target specific nodes 2015-10-02 21:27:28 +01:00
Nick O'Leary
3963fa9738 Allow a language catalog to be a partial catalog 2015-09-24 21:56:45 +01:00
Nick O'Leary
5193d7bddb Stop sending messages to ws connections that have errored
Fixes #708
2015-07-30 22:09:01 +01:00
Nick O'Leary
eb57089f06 Add flag to disable build check for tests 2015-07-22 11:41:58 +01:00
Nick O'Leary
a76e4fede1 Handle null acceptedLanguages
Closes #704
2015-07-19 22:11:25 +01:00
Nick O'Leary
9fb81b2814 Permit login with blank scope
Required for the editor, which doesn't know the appropriate scope
for the user logging in. The user will adopt their default permission
scope once logged in.
2015-07-15 10:12:45 +01:00
Nick O'Leary
846ab08661 Allow node modules to declare supported versions of node-red 2015-07-10 21:42:14 +01:00
Nick O'Leary
f70e9ea076 Ensure RED._ is defined before initialising settings
- remove permissions requirement from locales files so the
   login dialog can be nls'd
2015-07-08 17:08:07 +01:00
Nick O'Leary
6cfa4976fe Fix nodes.install.installing message id 2015-07-02 13:25:15 +01:00
Nick O'Leary
61e0923fc4 Restore when module dependency in red/api/nodes 2015-07-02 10:49:40 +01:00
Nick O'Leary
9ca102cf81 Ensure error messages are toStringed 2015-07-02 10:49:39 +01:00
Nick O'Leary
48df31d7b7 NLS deprecated node message 2015-07-02 10:49:39 +01:00
Nick O'Leary
99a51b07ac Catch error loop detection nls 2015-07-02 10:49:39 +01:00
Allen Boone
a6974371b0 Fixed acceptedLanguage typo 2015-07-02 10:49:39 +01:00
Nick O'Leary
f0b4cb608a Return locale specific node help 2015-07-02 10:49:39 +01:00
Allen Boone
284d7e26d1 Initialize list of supported languages from directories in the locale folder. 2015-07-02 10:49:39 +01:00
Allen Boone
e6ed8ee509 locale exposed to editor 2015-07-02 10:49:39 +01:00
Scott Yoshizawa
2563649b3e NLS /red/nodes
NLS other js files under /red

NLS /red files (changed based on Nick's review)
2015-07-02 10:49:39 +01:00
Nick O'Leary
f5fc8f763f Pick up desired language from query string 2015-07-02 10:49:38 +01:00
Nick O'Leary
6249083431 Extract all core runtime messages 2015-06-29 16:04:00 +01:00
Nick O'Leary
a7900940da Expose i18n in editor 2015-06-29 16:03:59 +01:00
Nick O'Leary
008bc98070 Ensure node help is blank if otherwise undefined 2015-06-29 16:03:59 +01:00
Nick O'Leary
0705589cc2 Load base locales in editor 2015-06-29 16:03:59 +01:00
Nick O'Leary
b2caba593f Add locales api endpoint 2015-06-29 16:03:59 +01:00
Nick O'Leary
6d4c64fcd5 i18n enable runtime node files 2015-06-29 16:03:59 +01:00
Nick O'Leary
7d41781fb4 Add initial red/i18n implementation 2015-06-29 16:03:59 +01:00
Nick O'Leary
a0ce095807 Error generating complete flow library list on OSX
Must use path.join to concatenate paths safely.
2015-06-29 16:00:10 +01:00
Nick O'Leary
72570e4510 Fix scope of knownUnknowns variable 2015-06-17 14:27:49 +01:00
Nick O'Leary
3002aead6b Add better install message on missing nodes 2015-06-17 14:18:47 +01:00
Nick O'Leary
31c979f30f Add deprecated node list 2015-06-16 15:32:41 +01:00
Nick O'Leary
21d0adbdae Handle null message in catch loop detection 2015-06-15 15:22:51 +01:00
Nick O'Leary
c5fd3a5753 Detect and prevent Catch node loops 2015-06-15 15:09:50 +01:00
Nick O'Leary
bb1fe8daef Allow nodesExcludes to specify node module name 2015-06-08 23:17:45 +01:00
Nick O'Leary
c5d8e09b41 Only delete node type from registry if id matches
If a node is moved out of node-red core to an npm installable
package, the first time NR runs after the move it correctly
deletes the node-red version from the registry. However it was
also removing the node constructors registered by the new
npm installed version as it wasn't checking what it was removing
came from the now-removed node.
2015-06-08 16:32:50 +01:00
Nick O'Leary
f8853af902 Enabling metric/audit logging takes precedence over level 2015-06-02 16:23:38 +01:00
Nick O'Leary
4248d20f39 Add RED.util.generateId and ensure HTTP node adds proper id 2015-06-02 15:54:37 +01:00
Nick O'Leary
53258eeede Restore ability to add nodes by filename 2015-05-27 14:11:11 +01:00
Nick O'Leary
7de0216976 Add audit log entries on API calls
Closes #627
2015-05-14 14:22:56 +01:00
Nick O'Leary
0bef04ae0a Set NODE_ENV in grunt dev task to serve non-minified assets 2015-05-11 20:24:15 +01:00
Nick O'Leary
7112fd2a22 Partial deploy containing deleted subflow throws error 2015-05-05 13:53:40 +01:00
Nick O'Leary
86013c7db4 Ensure node.credentials exists for nodes with registered creds
Fixes #639
2015-05-04 23:28:55 +01:00
Nick O'Leary
51fce9343b Ensure errors in node.receive are handled 2015-05-02 22:15:33 +01:00
Scott Yoshizawa
deaef3ab86 Corrected based on knolleary's comments. 2015-05-01 09:37:23 -04:00
Scott Yoshizawa
276d893198 Added the capability to register custom loggers (for Issue #626) 2015-04-30 17:01:22 -04:00
Nick O'Leary
1c1a85dcef editorTheme: allow header logo/title to be a link 2015-04-22 14:03:42 +01:00
drwoods
9ad1f769d3 localfilesystem tests failing on Windows 2015-04-20 10:13:00 -04:00
dceejay
6f84526364 Remove pre-req for mkdirp package.
(fs-extra has all the features needed already)
2015-04-14 18:41:48 +01:00
Nick O'Leary
8f16695f06 Add theme tests 2015-04-13 22:15:15 +01:00
Nick O'Leary
5af6ac3e80 Rename menu ids to be logically consistent 2015-04-13 16:48:38 +01:00
Nick O'Leary
0d557094b2 Move help customisation under menu settings 2015-04-13 15:32:11 +01:00
Nick O'Leary
a2aa78afd4 Add main menu customisation 2015-04-13 13:55:17 +01:00
Nick O'Leary
b0de8abb63 Customise help link label/url 2015-04-13 11:35:52 +01:00
Nick O'Leary
6ff540ed08 Customise login image 2015-04-13 10:37:30 +01:00
Nick O'Leary
2b8ed9850b Pass deployButton and userMenu theme options to ui 2015-04-13 09:48:49 +01:00
Nick O'Leary
c9d2d301aa Add editorTheme setting 2015-04-13 00:11:11 +01:00
Nick O'Leary
1406503e10 Add build info to README 2015-04-09 10:22:05 +01:00
Nick O'Leary
203d3f672c Add build step to Grunt file 2015-04-09 10:22:05 +01:00
Nick O'Leary
e1f0969957 Add dedicated route for editor index.html 2015-04-08 21:29:55 +01:00
Nick O'Leary
e1dd8cf2ab Restore node order in palette following async changes
The move to async loading of node files led to them appearing
out of order in the palette.
2015-04-08 20:17:24 +01:00
Nick O'Leary
2fe9c1e55f Change node config load to be async 2015-04-07 23:46:52 +01:00
Nick O'Leary
9dd7e2e43d Refactor registry structure
Splits registry up into smaller components.

Unit tests still drive api via registry/index_spec - still
need to split them up into the currently blank _spec files
2015-04-07 16:02:15 +01:00
Nick O'Leary
5efbdf5d04 Revert removal of flow storage api
Whilst we know with the file system storage inplementation
getLibraryEntry is a suitable replacement for getFlow, this
may not be the case with other implementations.

The storage code uses the deprecated functions if they are
present - so the core code should call them and let the storage
layer decide what it calls.
2015-04-05 20:54:11 +01:00
Nick O'Leary
f459ff8ad0 Remove use of deprecated storage api 2015-04-04 19:25:07 +01:00
Nick O'Leary
b96ea36b70 Deprecate getAllFlows/getFlow/saveFlow storage functions
They were specialised versions of get/saveLibraryEntry that
complicated the interface.

This change removes them from localfilesystem, but the top
level module checks for their existence and uses them if
they are there - for backwards compatibility.
2015-04-03 23:05:56 +01:00
Nick O'Leary
e543cc0fed Log settings file in use on start up 2015-04-03 23:05:15 +01:00
Nick O'Leary
fbfc5c8a2d Add error codes to api responses 2015-03-31 22:29:42 +01:00
Nick O'Leary
b201828236 Remove 'loaded' property from external node info object
and fix everything that doing this broke
2015-03-30 21:49:20 +01:00
Nick O'Leary
2a8a885271 Standardise API error response format 2015-03-30 14:16:04 +01:00
Nick O'Leary
7adefd6ee0 Add access_token expiry 2015-03-30 14:14:32 +01:00
Nick O'Leary
f967a5ecdc Fix auth on comms link and for anon user
The move to honour scope level of token broke the comms link
checking as well as the permissions checking for anon users.
2015-03-29 22:27:07 +01:00
Nick O'Leary
c8d6dc2531 Auth permission should honour the token scope 2015-03-29 21:59:48 +01:00
Nick O'Leary
cc1d080a5a Remove add/removeNode by filename api
Only support add/remove by module name
2015-03-26 11:39:35 +00:00
Nick O'Leary
dd7f4f6752 Filter loaded property from /nodes endpoint 2015-03-26 11:38:51 +00:00
Nick O'Leary
9daeba02b5 Flow.registerType should indicate if type was missing or not 2015-03-26 11:37:24 +00:00
Nick O'Leary
2a57d0b6d0 auth/login should return empty object when insecure 2015-03-25 20:33:29 +00:00
Nick O'Leary
20bdea7ae0 Increase registry test coverage 2015-03-22 22:54:52 +00:00
Nick O'Leary
e19b8d35a9 Modules not properly removed from config.json 2015-03-22 21:48:12 +00:00
Nick O'Leary
81df74dfc8 Server not waiting for settings to load 2015-03-22 20:55:38 +00:00
Nick O'Leary
153fa7478f Increase flows test coverage 2015-03-22 20:12:10 +00:00
Nick O'Leary
36f299c031 Improve core test coverage 2015-03-21 17:42:06 +00:00
Nick O'Leary
b61a250d58 Debug message formatting mangling brackets 2015-03-20 22:09:58 +00:00
dceejay
a9789697e7 add bcrypt as optional dependency to speed up Pi,
but not force compile on Windows.
Fix to close Issue #585
2015-03-19 11:36:48 +00:00
Nick O'Leary
be61cf6a88 Add node.error handling to core nodes 2015-03-16 13:58:01 +00:00
Nick O'Leary
46f2f752b0 Node on deleted tab not removed on partial deploy 2015-03-15 21:27:11 +00:00
Nick O'Leary
51e891ff88 Move sessionStorageModule into main storageModule
Fixes #586

 - add get/saveSessions to main storage module
 - handle storage modules without those functions
 - store .session file in userDir
2015-03-13 23:37:59 +00:00
Nick O'Leary
731efe1c01 Add credential extract unit tests 2015-03-13 21:26:50 +00:00
Nick O'Leary
f77dd06e65 Partial deploy with missing type breaks flow diff
Another refactor of Flow lifecycle.
 - diffFlow made a private static function
 - applyConfig now diffConfig - which returns a diff object that
   can be passed to .stop/.start to be properly applied
2015-03-13 17:54:58 +00:00
Nick O'Leary
af20f3df64 Partial deploy with missing node type breaks deploy 2015-03-13 13:15:20 +00:00
Nick O'Leary
0f3cc3196c Log-in window incorrect
fixes #583
2015-03-09 20:02:13 +00:00
dceejay
acc0e0875b few more tests for permissions and strategies
reset log flags at end of log test
2015-03-07 13:22:21 +00:00
dceejay
69f85bd688 boost api index, nodes index and nodes Node test coverage 2015-03-06 22:58:30 +00:00
dceejay
910d983b82 More tests for red, log, info and util. 2015-03-06 14:14:47 +00:00
dceejay
082ce798d8 slightly enhance test coverage for info and log and settings. 2015-03-06 10:18:33 +00:00
dceejay
234abd82a2 Move away from __defineGetter syntax, in red and server
Bump test coverage forwards a bit
2015-03-06 10:17:00 +00:00
Nick O'Leary
10b092a9a7 Ignore 'type' when detecting config nodes 2015-03-04 22:38:53 +00:00
Nick O'Leary
444a897410 Resort to NODE_RED_HOME if User HOME not found
Fixes #575
2015-03-04 21:47:38 +00:00
Nick O'Leary
34364f5627 Allow node to register multiple close handlers
Closes #573
2015-03-04 21:42:11 +00:00
dceejay
81dcfecb4e Catch very early exit null pointer when ctrl-c hit during startup. 2015-03-02 17:32:22 +00:00
Nick O'Leary
00d0f8cfc7 Invoke catch node only when msg is provided 2015-02-26 22:40:54 +00:00
Nick O'Leary
c80a44933c Add errorHandler tests 2015-02-26 22:40:54 +00:00
Nick O'Leary
5599b999ec Add catch node 2015-02-26 22:40:53 +00:00
Nick O'Leary
393fc349b9 Fix saving for node-library content 2015-02-26 17:08:20 +00:00
Nick O'Leary
061c44f958 Move shebang to the correct red.js 2015-02-26 13:24:38 +00:00
Nick O'Leary
f5d8433341 Add node-red-pi command 2015-02-26 11:38:05 +00:00
Nick O'Leary
f78a71e8ed Load flows file from userDir when appropriate 2015-02-26 11:30:20 +00:00
Nick O'Leary
ce1cd1ab9c Change default data dir
Changes the default location for user data to $HOME/.node-red.
2015-02-25 14:25:01 +00:00
Nick O'Leary
d148a23ed6 Handle config nodes appearing out of order in flow
The editor ensures config nodes appear first in the flow file. The
code in the runtime and editor assumes this to be the case, so that
when a node is instantiated that requires a config node, it can assume
the config node already exists.

This change allows a config node to appear in the flow file after a
node that wants to use it. In both the editor and runtime, the code
now scans for config nodes and handles them first.
2015-02-24 23:04:55 +00:00
dceejay
049a5f1be6 revert small whitespace change to server start messages. 2015-02-24 22:22:16 +00:00
Nick O'Leary
f3880b7601 Fix credential pruning and start/stop log messages 2015-02-24 22:03:04 +00:00
dceejay
dc7701ad70 Add node.js version to startup log msgs for debug. 2015-02-23 19:30:29 +00:00
Nick O'Leary
5e2c51a741 Handle deleted tab when diffing flows 2015-02-22 22:59:26 +00:00
Nick O'Leary
3849855b57 Rename _id to _msgid to avoid mongo clash 2015-02-06 16:36:32 +00:00
Nick O'Leary
c7f13e3d0c Add needsPermission protection to core nodes 2015-02-06 13:57:15 +00:00
Nick O'Leary
86c8a5de81 Allow palette categories to be predefined 2015-02-06 13:16:19 +00:00
Nick O'Leary
c31ffb98b0 Tie auth middleware to needsPermission api 2015-02-05 23:43:35 +00:00
Nick O'Leary
3ef6f29d6e Add Log.trace/debug/error functions 2015-02-05 17:05:39 +00:00
Nick O'Leary
26c42e500f Allow user.default to be an api function 2015-02-05 13:01:00 +00:00
Nick O'Leary
53a515176b Remove unused token expiry code 2015-02-05 13:01:00 +00:00
Nick O'Leary
fbf7ee50eb Increase unit test coverage of auth code 2015-02-05 13:00:56 +00:00
Nick O'Leary
b2aae93fa6 Hide user profile menu 2015-02-05 13:00:55 +00:00
Nick O'Leary
a494954275 Add permissions and user menu 2015-02-05 13:00:55 +00:00
Nick O'Leary
f5d7903ecb Stop lost connection message bouncing when not authed 2015-02-05 13:00:55 +00:00
Nick O'Leary
9bbe0799bd Allow adminAuth setting to provide functions 2015-02-05 13:00:55 +00:00
Nick O'Leary
f3eb85c449 Move over to settings.adminAuth 2015-02-05 13:00:54 +00:00
Nick O'Leary
74e1ef0823 Add auth awareness to comms channel 2015-02-05 13:00:49 +00:00
Nick O'Leary
982997c3df Add auth awareness to ui 2015-02-05 13:00:49 +00:00
Nick O'Leary
28823802ea Prompt login if auth enabled 2015-02-05 13:00:16 +00:00
Nick O'Leary
2128b57ab2 Add oauth grant 2015-02-05 13:00:07 +00:00
Nick O'Leary
482c4e9c5e Add memory metric reporting 2015-02-04 22:28:17 +00:00
Nick O'Leary
1712146836 Clear loghandlers on init and supress output in tests 2015-02-04 21:29:11 +00:00
Nick O'Leary
f2d4648384 Support of HTTP Node metrics 2015-02-04 20:48:46 +00:00
Nick O'Leary
31aa3901cc Fix global leak in localfilesystem 2015-02-04 15:41:18 +00:00
Nick O'Leary
8443e48240 Place flows backup alongside flow file
Also backup credentials file in the same manner.
2015-02-04 15:23:28 +00:00
Nick O'Leary
97621b41b9 Ensure deleted core nodes are removed from config list 2015-02-04 10:27:02 +00:00
Nick O'Leary
0aaea1ec40 Update logging/metric system 2015-02-03 22:02:26 +00:00
hbeeken
7d6ce1ec12 Changing metric logging to take a primative rather than an object 2015-02-03 19:12:09 +00:00
hbeeken
b052324d36 Adding logging & metric recording configuration via settings 2015-02-03 19:12:09 +00:00
hbeeken
0bfbb12211 Adding metric logging mechanism 2015-01-27 14:41:20 +00:00
Nick O'Leary
d04ac00732 Add more Flow_spec tests 2015-01-16 15:43:47 +00:00
Nick O'Leary
c97ab18e62 Add Flow spec 2015-01-15 17:12:50 +00:00
Nick O'Leary
a5afc258b1 Update unit tests 2015-01-15 10:28:11 +00:00
Nick O'Leary
afb5e8cbce Fix jshint errors 2015-01-15 10:28:11 +00:00
Nick O'Leary
83b40a7ba6 Fix credential update 2015-01-15 10:28:11 +00:00
Nick O'Leary
cf1371bfdf Add deployment types in runtime
- removes ui option as it needs work
2015-01-15 10:28:11 +00:00
Nick O'Leary
e11abd2508 Identify modified nodes on deploy 2015-01-15 10:28:10 +00:00
Anna Thomas
66213d151d No-op and return success on enabling/disabling node by type name 2014-12-17 13:35:57 +00:00
Anna Thomas
475d9e110e Updated to match cli changes 2014-12-08 16:53:06 +00:00
Anna Thomas
e7ccff5a4b Get version from pkg 2014-12-08 10:15:21 +00:00
Anna Thomas
b006ccf610 saveNodeList saves settings in nodes 2014-12-08 09:57:17 +00:00
Anna Thomas
bb0e48f271 Store version in settings 2014-12-08 09:55:51 +00:00
Nick O'Leary
6d0dffcdf7 Migrate node config to new format 2014-12-05 20:43:41 +00:00
Anna Thomas
1a5751ff1d Update removeModule to reflect getNodeModuleInfo changes 2014-12-05 16:45:32 +00:00
Anna Thomas
851048077c Remove new lines from version 2014-12-04 13:22:42 +00:00
Anna Thomas
35b3912808 Removed CLI from repo 2014-11-28 09:21:39 +00:00
Anna Thomas
e28f933f64 Refactor saveNodeList 2014-11-28 09:17:46 +00:00
Anna Thomas
57bc83b2a7 Enabling and disabling non-existent nodes throws an error 2014-11-27 16:42:45 +00:00
Anna Thomas
ec43fc4fe2 Removed unused code 2014-11-27 13:12:47 +00:00
Anna Thomas
8f2a0b63d9 Changed cleanNodeList to cleanModuleList 2014-11-26 16:46:51 +00:00
Anna Thomas
bb6e27f662 Store node list as module list 2014-11-26 16:25:37 +00:00
Anna Thomas
04ffaeb2b8 Refactor nodeModules.nodes to moduleNodes 2014-11-24 15:44:11 +00:00
Anna Thomas
d7f249eac4 Added version number to modules 2014-11-21 16:35:29 +00:00
Anna Thomas
a5064b3ab6 Reloads module info after enabling/disabling module 2014-11-21 16:34:57 +00:00
Anna Thomas
dd5821ee1b Installing a module returns module info
Removing a module checks module exists and checks type is not in use
2014-11-21 15:15:24 +00:00
Anna Thomas
4c9d53388c Removed plugins references 2014-11-21 11:31:07 +00:00
Anna Thomas
70f101497d Replaced delete response with 204 2014-11-21 11:25:51 +00:00
Anna Thomas
56cb985de9 Separated put response into /nodes/:mod and /nodes/:mod/:set
Updated put tests
2014-11-21 10:36:32 +00:00
Anna Thomas
d614b7c39f Moved get node set response to /nodes/:mod/:set
Updated tests
Changed plugin back to module
2014-11-20 15:18:16 +00:00
Anna Thomas
591b5f3f91 Replaced hex id with 'module/set' id 2014-11-20 12:15:15 +00:00
Anna Thomas
50fddf474b Local nodes loaded with node-red as their module 2014-11-20 09:58:42 +00:00
Anna Thomas
9552055b08 loadNodeConfig assumed to always be called with module and name parameters 2014-11-19 13:54:00 +00:00
Nick O'Leary
71bd5cd9e9 Merge pull request #485 from anna2130/nr-cli-enhancements
WIP: Command Line Tool API
2014-11-17 13:34:24 +00:00
Nick O'Leary
3e235ecc0b Move cloneMessage to RED.util.cloneMessage 2014-11-06 11:39:30 +00:00
Anna Thomas
deeaa09360 Renamed modules to plugins for CLI 2014-11-06 10:59:34 +00:00
Anna Thomas
3e24601518 Functionality to get installed module info from the cli 2014-11-06 10:00:25 +00:00
Nick O'Leary
266a644ca6 Preserve querystring when ensuring path ends with slash 2014-11-06 00:01:01 +00:00
Nick O'Leary
a520240b25 Ensure application/json on library flows reqs 2014-11-05 23:08:23 +00:00
Nick O'Leary
e7eb02fcb7 Add unit tests for refactored API modules 2014-11-05 23:07:50 +00:00
Nick O'Leary
72f9471f2b Reorganise how adminApp is setup 2014-11-05 22:45:18 +00:00
Nick O'Leary
1153619a03 Handle uninitialised node in single-wire fastpath 2014-11-04 11:36:28 +00:00
Nick O'Leary
863b85714d localfilesystem storage must fsync writes
Closes #465
2014-10-31 11:40:10 +00:00
Mark Hindess
3840bd117c Fix refactoring error; rename info to id. 2014-10-30 08:08:41 +00:00
Nick O'Leary
6169e4299a Add initial subflow tests 2014-10-29 21:44:33 +00:00
Nick O'Leary
d9648ca76b Add subflow support 2014-10-29 20:26:25 +00:00
Nick O'Leary
57ae297efd Clone messages before any node.receive call 2014-10-25 23:12:30 +01:00
Anna Thomas
bc8e459ae6 Node does not clone first message sent
Tests updated to mirror this behaviour
    Annotated algorithm
2014-10-21 14:08:35 +01:00
Nick O'Leary
d4a21be666 Clone settings to avoid modifying original values 2014-10-09 14:21:53 +01:00
Nick O'Leary
489c552dbe Reset settings between tests 2014-10-03 15:05:37 +01:00
Nick O'Leary
c223e7f58f Avoid writing unchanged settings 2014-10-03 14:47:23 +01:00
Nick O'Leary
9152daa13b Fix race condition on saving config 2014-09-23 17:09:23 +01:00
Nick O'Leary
6305c5b55f Use request.del in cli request module 2014-09-23 16:35:17 +01:00
Nick O'Leary
723a3e628e Add cli tests 2014-09-23 00:14:30 +01:00
Nick O'Leary
af0b740fbd Rework nr-cli
- better componentisation
- add 'search' option to look for npm modules
- add 'target' option to point at non-default installs
2014-09-22 22:59:42 +01:00
Nick O'Leary
31255bd66b Handle blank config file 2014-09-22 21:35:30 +01:00
Nick O'Leary
8d54126127 Pretty-print the .config.json file for ease of debug 2014-09-22 14:34:53 +01:00
Nick O'Leary
55c830b812 Add disableEditor option
Closes #409
2014-09-22 14:34:17 +01:00
Nick O'Leary
9bfc6d376b Use module:node name to generate set id 2014-09-22 13:15:19 +01:00
Nick O'Leary
c98b9dfaa3 Don't filter errored nodes in result list 2014-09-20 22:42:48 +01:00
Nick O'Leary
ea89aff3db Handle node-load errors properly
Fixes #403
Certain load errors were causing start-up to fail. In particular,
an npm module with a missing .js file.
2014-09-20 22:25:00 +01:00
Nick O'Leary
f939d52551 Restore node ids from config list 2014-09-20 21:29:46 +01:00
Nick O'Leary
da61fe12d0 Add dynamic node api
Closes #322
- nodes modules can be installed/removed dynamically at runtime
- nodes can be enabled/disabled
- onpaletteadd/onpaletteremove api added to node definitions
- initial implementation of nr-cli
2014-09-17 23:57:29 +01:00
Mark Hindess
c0fcc20f23 Add ensureBuffer helper for nodes. 2014-09-10 12:46:56 +01:00
Mark Hindess
0a009e2a15 Rename RED.utils to RED.util. Fixes #364. 2014-09-03 13:20:45 +01:00
Mark Hindess
a9e72858df Add ensure string helper for nodes. 2014-08-28 14:25:41 +01:00
Mark Hindess
7abae51b42 Fix --help so it doesn't crash. 2014-08-28 13:59:56 +01:00
Nick O'Leary
7042d87444 Handle missing file/modules in Add node api 2014-08-18 21:59:19 +01:00
Nick O'Leary
4d6846047f Dynamic node add not listing added types properly 2014-08-18 21:12:15 +01:00
Nick O'Leary
e8c4caaf74 Remove cheerio parse of node html files on start-up 2014-08-18 14:34:47 +01:00
Nick O'Leary
fb2f307a26 Remove unnecessary semicolon 2014-08-07 22:24:02 +01:00
Nick O'Leary
58c2f5dd3d Add remove node api 2014-08-07 22:20:06 +01:00
Nick O'Leary
fde77cec5d Add rest endpoint for add/remove and send updates to editor 2014-08-07 13:46:38 +01:00
Nick O'Leary
960d15491d Add node add/remove/enable/disable apis to registry 2014-08-04 17:12:54 +01:00
Nick O'Leary
f7f58a2347 Add registry test for node module loading 2014-08-03 21:17:24 +01:00
Nick O'Leary
1697aee9f6 Add loadNode api to registry.js 2014-08-01 23:42:01 +01:00
Nick O'Leary
79e9641c09 Big rework of registry.js
Part of #322

Loads node.html files before node.js files

Adds helper.unload which must be called by node tests
to clear the registery of nodes
2014-08-01 22:05:49 +01:00
Nick O'Leary
8e8e13a3a2 Add comms.stop to tidy up keepalive timer 2014-08-01 21:55:05 +01:00
Nick O'Leary
989f3459d5 Merge pull request #323 from zobalogh/further-registry-tests
Adding test for registry cheerio
2014-07-31 17:25:31 +01:00
Nick O'Leary
b8f40d4e39 Merge pull request #319 from hindessm/restrict-library-entry-names
Prohibit library entry names from containing '../'.
2014-07-31 17:24:57 +01:00
zobalogh
401afcbadd Adding test for registry cheerio 2014-07-31 16:49:19 +01:00
zobalogh
d9544e4ac5 Adding registry node load tests 2014-07-31 14:43:26 +01:00
Mark Hindess
b7428ab627 Prohibit library entry names from containing '../'. 2014-07-31 13:59:24 +01:00
Nick O'Leary
f4ffdce3d0 Merge pull request #317 from hindessm/fix-flows-missing-types-logic
Fix missing types logic.
2014-07-31 10:01:27 +01:00
Mark Hindess
2f882913f0 Fix missing types logic.
missingTypes.length was greater than zero so the only way it can be
zero immediately afterwards is if splice is called so move the zero
check after the splice.

Despite what istanbul reports this function is covered by the tests.
2014-07-31 08:36:54 +01:00
Mark Hindess
e407fc857e Fix HTTP response; 204 should be code not body. 2014-07-31 07:04:10 +01:00
Mark Hindess
195f581da7 Remove redundant assignment.
The publish immediately overwrites this time so there isn't much
point setting it.
2014-07-30 14:33:31 +01:00
Mark Hindess
8e30910065 Add webSocketKeepAliveTime setting to aid testing. 2014-07-30 14:33:31 +01:00
hbeeken
796810f460 Test to ensure credential definition is defined after index.registerType 2014-07-29 14:58:49 +01:00
Nick O'Leary
e07a523c3b Fix node html compression and refactor registry 2014-07-28 16:37:39 +01:00
Nick O'Leary
76a6730ef4 Merge pull request #289 from zobalogh/storage-interface-dev
Defining storage interface
2014-07-25 15:00:40 +01:00
Nick O'Leary
0c8b54253a Merge pull request #300 from zobalogh/ui-caller-delivery
Removing accidental requires
2014-07-25 15:00:22 +01:00
zobalogh
1f09c29aeb Removing accidental requires 2014-07-25 14:50:54 +01:00
zobalogh
d58788f721 Defining storage interface. 2014-07-25 14:44:15 +01:00
Nick O'Leary
e299baf1a0 Refactor inner workings of registry.js 2014-07-24 23:16:41 +01:00
Nick O'Leary
af1bcf33c1 Merge pull request #297 from zobalogh/ui-caller-delivery
Adding UI unit tests
2014-07-24 16:26:45 +01:00
Nick O'Leary
7abda9bc52 Merge pull request #298 from hindessm/test-comms
Add comms tests
2014-07-24 15:29:06 +01:00
Mark Hindess
8506fd0c4b Do not crash on malformed json message on websocket. 2014-07-24 14:46:04 +01:00
zobalogh
6c093eef99 Fixing settings usage in UI 2014-07-24 14:35:01 +01:00
Nick O'Leary
166a798c09 Merge pull request #293 from hindessm/remove-some-unused-variables
Remove some unused variables.
2014-07-24 12:35:54 +01:00
Mark Hindess
e96fff573d Remove some unused variables. 2014-07-23 23:04:08 +01:00
Mark Hindess
f331d906b4 Fail with error rather than silently on storage init problems. 2014-07-23 22:54:16 +01:00
Mark Hindess
406581d522 Remove unused references to red/red.js 2014-07-23 20:02:28 +01:00
Mark Hindess
d51eadb6c2 Remove spurious require of the events singleton. 2014-07-22 12:43:02 +01:00
Nick O'Leary
d1300c0632 Remove unnecessary semi-colon 2014-07-21 16:18:22 +01:00
Nick O'Leary
014fca2d61 Add some function-level docs 2014-07-21 16:07:28 +01:00
Nick O'Leary
fea6280bff Tidy up runtime credentials 2014-07-21 15:56:38 +01:00
Mark Hindess
63ebee22dd Add missing require. 2014-07-21 13:29:54 +01:00
Nick O'Leary
4302deb5a6 Change credential boolean prefix 2014-07-20 20:42:41 +01:00
Nick O'Leary
b604db83f6 Tweak the credential handling
- use node.credentials rather than node._creds for consistency with the runtime
 - simplify the structure of node.credentials
2014-07-19 00:25:22 +01:00
Nick O'Leary
aa35484a30 Prepopulate node credentials if present 2014-07-18 14:23:32 +01:00
Nick O'Leary
a6a0352b70 Add credential registration to RED.nodes.registerType 2014-07-18 14:20:49 +01:00
Nick O'Leary
84a0e8ceff Add version information to /settings 2014-07-17 21:32:30 +01:00
Antoine Aflalo
4d97d9d300 Rewrite credentials API to work with save on deploy. 2014-07-16 11:25:40 +03:00
Nick O'Leary
cfd590a397 Merge pull request #267 from hindessm/flows-tests
Flows tests
2014-07-15 17:03:16 +01:00
zobalogh
4a514b9060 Removing orphaned function. 2014-07-15 15:32:56 +01:00
Mark Hindess
fe9ff0a297 Fix jshint complaints. 2014-07-14 21:46:36 +01:00
Mark Hindess
7281d273a1 Remove unused code. 2014-07-14 21:45:03 +01:00
Mark Hindess
66459f1bd6 Short circuit the null message case. 2014-07-10 14:25:32 +01:00
Mark Hindess
d371511d1d Refactor common log code. 2014-07-10 14:25:32 +01:00
Dave C-J
9bc9994354 Fix for missingType(s) - to close #259
(thanks to toksea for spotting it)
2014-07-08 08:49:48 +01:00
Nick O'Leary
9db1166ce0 Fix logHandler array handling
Fixes #257
2014-07-02 16:31:02 +01:00
Nick O'Leary
9f3233175b Fix node html generation 2014-07-01 23:48:26 +01:00
Nick O'Leary
649c82f7d7 Fix all jshint warnings in core code 2014-07-01 23:46:25 +01:00
Nick O'Leary
479a02cc16 Enable npm nodes to provide custom icons 2014-06-25 10:30:52 +01:00
Nick O'Leary
842e7cf5f5 Allow retained status message to be cleared 2014-06-21 22:43:48 +01:00
Nick O'Leary
dded87c134 Log close errors rather than pass up the stack 2014-06-08 23:28:46 +01:00
Nick O'Leary
749eaa2181 Add flowFilePretty option 2014-06-07 22:33:29 +01:00
Nick O'Leary
70147d0b6b Remove 'retined' property from node.status calls 2014-05-30 20:30:26 +01:00
Antoine Aflalo
f822827454 Credentials into RED 2014-05-16 10:07:43 +03:00
Nick O'Leary
525321ec7f Fix node emitter 2014-05-15 20:55:01 +01:00
Nick O'Leary
8f1dd62515 Allow Serial nodes to close asynchonously 2014-05-14 21:34:17 +01:00
Nick O'Leary
c317ccc36d Allow nodes to close asynchronously 2014-05-14 21:18:47 +01:00
Dave Conway-Jones
7e4fa5fa45 Merge pull request #204 from tedgoddard/patch-1
support for use_strict - patch for server.js file
Removes redundant variable declaration.
(now handled in storage)
2014-05-14 11:25:38 +01:00
Antoine Aflalo
6a7b3cf62c REST API for Credentials
Adding RED.nodes.registerCredentials to register the credentials definition server sided.
Adding the property credentials in the template definition client-side.

Connecting the editor to the credential API.
I added a TODO for the validation of Credentials field.
As the other field, the developer should be able to set the credentials as required and also give a validation function.
2014-05-09 13:47:21 +03:00
Nick O'Leary
da3fbd3b62 Initialise Node earlier in registry life-cycle 2014-05-08 22:58:30 +01:00
Nick O'Leary
c99f0d895f Add comms back to RED interface 2014-05-08 16:55:08 +01:00
Nick O'Leary
7ecb80bf40 Add node status updates 2014-05-08 14:15:54 +01:00
Nick O'Leary
16f8673ec0 Add comms module 2014-05-07 20:47:25 +01:00
Nick O'Leary
3c176d0b94 Handle parse errors in template file 2014-05-07 20:45:26 +01:00
Nick O'Leary
7b0a1b2463 Fix flow backup for first run, add tests 2014-05-07 00:33:50 +01:00
Dave C-J
d1318d215c change preferred name of backup file to flows.backup
(even if it is the previous version :-)
relates to Issue #184
2014-05-06 16:02:18 +01:00
Dave C-J
67d1e2acd8 Create a copy of the previous flow file (flow.previous) before each deploy
closes #184
In case of emergency you can now find the previous flow file before you hit 
deploy in a file called flow.previous . As indicated it is the flow that was 
running prior to you hitting deploy...
2014-05-06 15:22:58 +01:00
Nick O'Leary
44e8aeaae4 Remove console.log in credentials 2014-05-06 14:25:53 +01:00
Nick O'Leary
5e5d3d3000 Log.addHandler missing its implementation 2014-05-06 13:06:06 +01:00
Nick O'Leary
7674492819 Fix node loading order 2014-05-05 00:10:50 +01:00
Nick O'Leary
da8ef7acc6 Minify node .html files before sending 2014-05-04 17:30:55 +01:00
Nick O'Leary
ff49d2b217 Migrate to new node function style 2014-05-03 23:32:04 +01:00
Nick O'Leary
7eed375111 Split up nodes.js into components 2014-05-03 22:28:17 +01:00
Dave C-J
a9e07f8b78 Updated credentials storage so there is a .._cred.... file per flow.
Allows swapping flows more easily without having to re-enter credentials.
Thus also added *_cred* to .gitignore
2014-05-02 14:35:51 +01:00
Nick O'Leary
84093bcb6e Make node loading more asynchronouse 2014-05-02 11:16:07 +01:00
Nick O'Leary
b5a8a7288b Tidy up ajax usage 2014-04-21 22:42:46 +01:00
Nick O'Leary
b6fd103b37 /nodes end-point should be text/html not json 2014-04-21 22:17:52 +01:00
Nick O'Leary
6a17a7d4c2 Add version information to log output 2014-04-21 21:55:28 +01:00
Nick O'Leary
d00624f9e3 Tidy up REST interface
- Ensure application/json where appropriate
 - Use jquery api rather than d3
2014-04-20 22:35:38 +01:00
Ted Goddard
440d649cd6 support for use_strict
variable appears unused but results in

ReferenceError: flowfile is not defined

when node is invoked with --use_strict
2014-04-17 10:54:55 -06:00
Nick O'Leary
896b52ed9e Fix node tests 2014-04-13 22:32:33 +01:00
Nick O'Leary
92d10384ba Avoid adding null req/res properties to messages 2014-04-13 22:12:57 +01:00
Nick O'Leary
43073de10b Add nodesExcludes option 2014-04-08 13:33:09 +01:00
Nick O'Leary
0b8e8de260 Allow nodesDir to be an array of paths 2014-04-07 22:01:33 +01:00
Nick O'Leary
22db06046b Fix mocha dependency 2014-03-31 13:38:35 +01:00
Nick O'Leary
bc8683f40a Skip non-existent node directories 2014-03-21 14:05:27 +00:00
Nick O'Leary
77f1ee9f64 Tidy up nodes module exports 2014-03-06 22:44:34 +00:00
Nick O'Leary
f7792c66b4 Add cmd-line help and reduce node error output by default
Added nopt package dependency - npm update required!

Added -v cmdline option to show node module load errors, which are otherwise hidden by default with only a summary shown
2014-03-06 22:32:23 +00:00
Nick O'Leary
7c24d4d760 Separate out httpAdmin and httpNode 2014-02-16 00:39:30 +00:00
Nick O'Leary
2afe474ec8 Merge pull request #139 from skynetim/storage
Remove some sync calls from localfilesystem.js.
2014-02-02 12:22:23 -08:00
Nick O'Leary
cfd8d137cf Add config-node sidebar tab
Accessed from the drop-down menu
2014-01-25 22:31:43 +00:00
Nick Niemeir
288b129ec3 Make more promisey 2014-01-16 06:28:10 +00:00
Nick Niemeir
3c41b2624a First pass at removing sync calls 2014-01-16 05:59:13 +00:00
Nick O'Leary
02df584af6 Allow storage module to be set explicitly
Rather than just by name
2013-12-19 11:05:03 +00:00
Nicholas O'Leary
ce7bf78349 Non-Cloning of req/res properties caused them to be lost
The previous fix to not clone the req/res objects introduced a bug where the req/res objects were lost from all but the first clone made out of a particular node.
2013-12-05 14:39:26 +00:00
Nicholas O'Leary
0507578c98 Always clone messages to ensure no cross-pollution
Part of #85

A function that returns the same message to multiple outputs, where each output is wired to at most one node was not having its messages cloned due to the change I made in #85 to be slightly more efficient. By returning the same message to each output, cross pollution was possible.
2013-11-29 19:56:46 +00:00
Nicholas O'Leary
0bc0dc3a2b Cannot clone http.req/http.res properties
Temporary fixes #97
2013-11-28 16:06:17 +00:00
Nicholas O'Leary
0aa17662f5 Posting to /flows should block until successfully saved, or fail
Mentioned in #76
2013-11-22 21:07:29 +00:00
Nicholas O'Leary
3054b04378 Storage object null when adding twitter credentials as first ever node 2013-11-22 13:54:10 +00:00
Nicholas O'Leary
e1dbb95396 Deep-clone messages when there are multiple recipients
Fixes #85

As well as adding deep-clone (via the new dependency on the 'clone' module), we no longer clone the message if there is a single recipient. This makes simple node-to-node flows more efficient.

I've done some simple profiling using process.hrtime to time how long the Node.send function takes, and at best, this change is neutral to performance.
2013-11-21 14:03:17 +00:00
Nicholas O'Leary
48c4786d66 Ignore node_modules dir when scanning for nodes 2013-11-20 13:55:21 +00:00
Nicholas O'Leary
3a52397744 Add nodesDir property to all nodes files to exist elsewhere 2013-11-13 17:02:29 +00:00
Nicholas O'Leary
848a69dc26 Make storage.init return a promise to async initialisation
part of #62
2013-11-12 17:13:06 +00:00
Nicholas O'Leary
29734dd994 Add unit test for localfilestorage
Stage 2 of #62
2013-11-10 22:19:01 +00:00
Nicholas O'Leary
95bef6b6ca Abstract all file-system operations
Stage 1 of  #62
2013-11-10 00:05:58 +00:00
Nicholas O'Leary
8befd44195 Rename workspaces to tabs/sheets 2013-10-30 21:45:45 +00:00
Nicholas O'Leary
3604286793 Save/restore tabs 2013-10-25 21:34:00 +01:00
Nicholas O'Leary
fa8dcdc87f Add NODE_RED_HOME env variable 2013-10-20 22:08:38 +01:00
Nicholas O'Leary
5e8e35e6fa Allow icons to be bundled with nodes 2013-10-13 21:01:46 +01:00
Nicholas O'Leary
eb9b31a21b Bit more of a shuffle round of the shutdown handling 2013-10-13 19:14:39 +01:00
Dave C-J
e60120f7c9 Make RED.stop as per @knollery suggestion. 2013-10-13 10:25:01 +01:00
Dave C-J
1fb185d081 Catch SIGINT (ctrl-C/break) and try to close nodes prior to exit. 2013-10-12 22:00:34 +01:00
Nicholas O'Leary
f5a8230f3e Fix camel case of flowFile 2013-10-05 21:20:11 +01:00
Nicholas O'Leary
ef0e5b98c2 Allow flows file to be set in settings 2013-10-04 17:28:15 +01:00
Nicholas O'Leary
e4f105c7a1 Make the runtime embeddedable 2013-09-26 21:13:09 +01:00
Nicholas O'Leary
0ecbbca7e4 Restructure server code to make embedding easier 2013-09-20 17:15:45 +01:00
Nicholas O'Leary
6f8adc9f14 Create lib dir on start-up if needed 2013-09-20 14:21:53 +01:00
Nicholas O'Leary
3b22b585d0 Allow nodes types to initialise asynchronously at start
The code scans the flows that are to be started and checks all
of the necessary node types are registered; if not, it doesn't
start the flows.

An event is emitted when each node type is registered - allowing
the server to track when all of the 'missing' node types register
and then start the flows.

This is a step towards adding node-types without restarting.
2013-09-18 21:15:23 +01:00
Nicholas O'Leary
327ab49622 Fixes #19 - httpRoot and httpAuth not taking effect
We were attaching the editor app rather than the main app to the
server, which meant the root and auth routes were ignored.
2013-09-13 23:24:35 +01:00
Dave C-J
88eb2cddc2 Added Quick catch for gross deploy errors... (only reports in console log... no UI notification) 2013-09-13 17:23:23 +01:00
Nicholas O'Leary
95675bc6bc Start to add server-side events 2013-09-09 20:03:22 +01:00
Nicholas O'Leary
32796dd74c Got to start somewhere 2013-09-05 15:02:48 +01:00