Commit Graph

550 Commits

Author SHA1 Message Date
Nick O'Leary 437b01a0ff Move node installer to its own module 2015-11-09 11:29:48 +00:00
Nick O'Leary 075a2abf71 Use child_process.execFile to prevent command injection 2015-11-08 14:26:11 +00:00
Nick O'Leary 985875cc75 Move node install/remove from server component to node engine 2015-11-08 14:06:36 +00:00
Nick O'Leary a0aee2021d Tidy up sheets/flows labelling 2015-11-05 14:22:15 +00:00
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