Commit Graph

555 Commits

Author SHA1 Message Date
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