Commit Graph

209 Commits

Author SHA1 Message Date
Nick O'Leary c1d50e82e1
Fix race condition in non-cache lfs context
Fixes #1888
2018-09-17 10:31:00 +01:00
Nick O'Leary 9777af7cb5
LocalFileSystem Context: Remove extra flush code 2018-09-16 22:04:09 +01:00
Hiroki Uchikawa fd86035865 Prevent race condition (#1889)
* Make pending Flag to be deleted after write process complete.

* Prevent executing write process until the previous process is completed

* Fix to prevent file write race condition when closing file context

* Make flushing rerun if pendingWrites was added
2018-09-16 21:15:23 +01:00
Nick O'Leary a8ec032553
Allow context store name to be provided in the key
For nodes that get/set context, when multiple stores are configured
they will not know to parse the store name from the key. So they
will pass the store name in the key, such as #:(store)::key.

Currently that will cause that full string to be used as the key
and the default context store used - which is wrong.

The code now parses out the store name from the key if it is set -
athough if the call to get/set does include the store argument, it
will take precedence.

This only applies when the key is a string - it doesn't apply when
an array of keys is provided.
2018-09-14 23:21:05 +01:00
Nick O'Leary 75e7c0e50d
Ensure context.flow/global cannot be deleted or enumerated 2018-09-10 22:30:51 +01:00
Nick O'Leary fc0cf1ff51
Handle context.get with multiple levels of unknown key
Fixes #1883
2018-09-09 23:47:31 +01:00
Nick O'Leary 0f4d46671f
Fix global.get("foo.bar") for functionGlobalContext set values 2018-09-09 11:07:44 +01:00
Nick O'Leary 2f7f53ed96
Filter global modules installed locally
If a module is found both locally and globally installed, the local
copy will take precedence. This will allow a user to upgrade a
node module that they may not otherwise be able to touch
2018-09-04 11:26:05 +01:00
Nick O'Leary 94031a52a5
Add svg to permitted icon extension list 2018-08-31 21:02:09 +01:00
Nick O'Leary 28b311b7ed
Improve error reporting from context plugin loading 2018-08-16 14:36:11 +01:00
Nick O'Leary d132d63c1d
Handle windows paths for context storage 2018-08-15 15:31:42 +01:00
Nick O'Leary ef8b936069
Handle persisting objects with circular refs in context 2018-08-15 10:19:37 +01:00
Nick O'Leary 1dc021e871
Improve custom context store module logging 2018-08-09 15:37:04 +01:00
Nick O'Leary ff627fd128
Fix localfilesystem clean handling 2018-08-09 14:39:20 +01:00
Nick O'Leary 5155770213
Ensure add/remove modules are handled sequentially 2018-07-30 10:08:39 +01:00
HirokiUchikawa 6533a9793c Allow `get` and `keys` to be called without callback 2018-07-27 21:33:38 +09:00
Nick O'Leary 17e6940a42
Update context plugins to use get/setObjectProperty 2018-07-25 09:59:26 +01:00
Nick O'Leary e9be007040
Tidy up context store error messages 2018-07-23 15:20:13 +01:00
Nick O'Leary 3bcffe375d
Merge pull request #1834 from node-red-hitachi/add-tests-for-context-admin-api
Add tests for context admin api
2018-07-23 13:29:10 +01:00
Nick O'Leary 9f81a591e1
Move multiple-get/set logic into individual context stores 2018-07-23 13:28:06 +01:00
Hiroyasu Nishiyama 09329e1104 add tests for context admin api 2018-07-21 12:00:54 +09:00
Nick O'Leary bf5d36d6bd
Merge branch 'master' into context-store-logging 2018-07-20 20:23:19 +01:00
Hiroyasu Nishiyama a29527ec96 use implicit logging of context store 2018-07-20 23:26:47 +09:00
nakanishi 39b751acf5 Add test cases for localfilesystem context 2018-07-20 11:23:37 +09:00
Hiroyasu Nishiyama 7612481570 ignore default store from logging 2018-07-19 14:12:01 +09:00
Hiroyasu Nishiyama 31ee1be81e add logging of context store 2018-07-19 07:40:52 +09:00
Nick O'Leary 75c29f1cb7
Disallow store names that are not A-Za-z0-9_ 2018-07-16 16:44:33 +01:00
Nick O'Leary afe6afca36
Merge pull request #1801 from node-red-hitachi/0.19-multi-values
Make it possible to set multiple values
2018-07-13 14:03:03 +01:00
HirokiUchikawa 050acd239c Allow arrays of different lengths to be passed to `set`. 2018-07-13 20:59:45 +09:00
Nick O'Leary 7bd94df2a0
Merge pull request #1804 from node-red-hitachi/0.19-fix-cache-error
Fix the error that the parent directory of the context does not exist
2018-07-13 11:58:14 +01:00
HirokiUchikawa 6b2f5fbb19 Allow multiple keys and values to be passed to `set` 2018-07-12 19:19:55 +09:00
HirokiUchikawa 9111adf15f Use `ensureDir()` insted of `mkdir()`
and add test case
2018-07-12 18:20:47 +09:00
HirokiUchikawa ba18b27371 Prevent the callback to be called twice
and add test cases
2018-07-12 18:12:30 +09:00
HirokiUchikawa e8d76b0555 Allow multiple values to be passed to `get` 2018-07-12 14:05:36 +09:00
Nick O'Leary 7dd98e99f9
Node errors should be Strings not Errors
Fixes #1781
2018-07-11 13:40:53 +01:00
Hiroki Uchikawa 1bf4addf63 Fix an error when initializing the cache (#1788)
* Fix a error when initializing the cache

* Make context directory if it is not there  in initialization
2018-07-10 12:41:16 +01:00
Nick O'Leary c440a4c730
Expose list of context stores to the editor 2018-07-03 14:17:42 +01:00
Nick O'Leary a1251371d7
Avoid unnecessary re-reading of file context when caching is enabled 2018-07-03 11:29:45 +01:00
Nick O'Leary 43d7c8d48c
Add caching to localfilesystem context 2018-07-02 22:32:20 +01:00
Nick O'Leary 7423583508
Create default store for node tests to use 2018-07-02 15:47:47 +01:00
Nick O'Leary 038d821a7c
Apply fGC to all global contexts for default values 2018-07-02 15:21:13 +01:00
Nick O'Leary 466cb4be89
Small tidy up on context plugin loading 2018-06-29 09:48:38 +01:00
Nick O'Leary c0870c5694
Merge branch '0.19' into context-tab 2018-06-27 16:05:17 +01:00
Nick O'Leary e01996095f
Add refresh timestamp to context sidebar 2018-06-27 10:00:23 +01:00
Nick O'Leary 5d86f7b6ba
Refresh context sidebar tab based on selection 2018-06-26 23:34:32 +01:00
HirokiUchikawa 40ff54f67e Improve context storage handling 2018-06-26 11:43:37 +09:00
HirokiUchikawa cce7ac09d0 Add callback handling to memory plugin 2018-06-26 11:36:37 +09:00
HirokiUchikawa f2fa26fb07 Use the callback instead of Promise in context API
and remove unnecessary functions
2018-06-22 17:11:54 +09:00
HirokiUchikawa e6411d11b1 Remove unnecessary context storage APIs
and rename context storage APIs
2018-06-20 20:00:39 +09:00
HirokiUchikawa dd81d947fc Use native Promise instead of when.js 2018-06-20 19:50:55 +09:00