diff --git a/packages/node_modules/@node-red/editor-api/lib/auth/index.js b/packages/node_modules/@node-red/editor-api/lib/auth/index.js index e39e972db..c5e1d93c7 100644 --- a/packages/node_modules/@node-red/editor-api/lib/auth/index.js +++ b/packages/node_modules/@node-red/editor-api/lib/auth/index.js @@ -160,20 +160,30 @@ function completeVerify(profile,done) { function genericStrategy(adminApp,strategy) { - var crypto = require("crypto") - var session = require('express-session') - var MemoryStore = require('memorystore')(session) + const crypto = require("crypto") + const session = require('express-session') + const MemoryStore = require('memorystore')(session) - adminApp.use(session({ - // As the session is only used across the life-span of an auth - // hand-shake, we can use a instance specific random string - secret: crypto.randomBytes(20).toString('hex'), - resave: false, - saveUninitialized: false, - store: new MemoryStore({ - checkPeriod: 86400000 // prune expired entries every 24h - }) - })); + const sessionOptions = { + // As the session is only used across the life-span of an auth + // hand-shake, we can use a instance specific random string + secret: crypto.randomBytes(20).toString('hex'), + resave: false, + saveUninitialized: false, + store: new MemoryStore({ + checkPeriod: 86400000 // prune expired entries every 24h + }) + } + if (settings.httpAdminCookieOptions) { + sessionOptions.cookie = { + path: '/', + httpOnly: true, + secure: false, + maxAge: null, + ...settings.httpAdminCookieOptions + } + } + adminApp.use(session(sessionOptions)); //TODO: all passport references ought to be in ./auth adminApp.use(passport.initialize()); adminApp.use(passport.session()); diff --git a/packages/node_modules/@node-red/editor-api/lib/auth/permissions.js b/packages/node_modules/@node-red/editor-api/lib/auth/permissions.js index ba5005ba8..77545a73c 100644 --- a/packages/node_modules/@node-red/editor-api/lib/auth/permissions.js +++ b/packages/node_modules/@node-red/editor-api/lib/auth/permissions.js @@ -25,7 +25,7 @@ function hasPermission(userScope,permission) { } var i; - if (util.isArray(permission)) { + if (Array.isArray(permission)) { // Multiple permissions requested - check each one for (i=0;iMultiplayer mode was introduced in the previous beta. With this release it now shows where in the editor other users are.

As with the last beta, check the release post for details on how to enable this feature in your settings file.

`, - // "ja": ``, + "ja": `

複数ユーザ同時利用モードは、前のベータ版で導入されました。本リリースでは、他のユーザがエディタ上のどこにいるかを表示するようになりました。

+

直近のベータ版と同様、settingsファイルで本機能を有効にする方法の詳細については、リリースの投稿を確認してください。

`, "fr": `

Le mode multi-utilisateur a été introduit dans la version bêta précédente. Avec cette nouvelle version, vous pourrez désormais savoir où ces utilisateurs se trouvent dans l'éditeur.

Comme pour la dernière version bêta, consultez la note de publication pour plus de détails sur la façon d'activer @@ -35,7 +36,7 @@ export default { { title: { "en-US": "Better background deploy handling", - // "ja": "", + "ja": "バックグラウンドのデプロイ処理の改善", "fr": "Meilleure gestion du déploiement en arrière-plan" }, image: 'images/nr4-background-deploy.png', @@ -43,7 +44,7 @@ export default { "en-US": `

If another user deploys changes whilst you are editing, we now use a more discrete notification that doesn't stop you continuing your work - especially if they are being very productive and deploying lots of changes.

`, - // "ja": ``, + "ja": `他のユーザが変更をデプロイした時に、特に変更が多い生産的な編集作業を妨げないように通知するようになりました。`, "fr": `

Si un autre utilisateur déploie des modifications pendant que vous êtes en train de modifier, vous recevrez une notification plus discrète qu'auparavant qui ne vous empêche pas de continuer votre travail.

` } @@ -51,15 +52,16 @@ export default { { title: { "en-US": "Improved flow diffs", - // "ja": "", + "ja": "フローの差分表示の改善", "fr": "Amélioration des différences de flux" }, image: 'images/nr4-diff-update.png', description: { "en-US": `

When viewing changes made to a flow, Node-RED now distinguishes between nodes that have had configuration changes and those that have only been moved.

-

When faced with a long list of changes to look at, this makes it much easier to focus on more sigificant items.

`, - // "ja": ``, +

When faced with a long list of changes to look at, this makes it much easier to focus on more significant items.

`, + "ja": `

フローの変更内容を表示する時に、Node-REDは設定が変更されたノードと、移動されただけのノードを区別するようになりました。

+

これによって、多くの変更内容を確認する際に、重要な項目に焦点を当てることができます。

`, "fr": `

Lors de l'affichage des modifications apportées à un flux, Node-RED fait désormais la distinction entre les noeuds qui ont changé de configuration et ceux qui ont seulement été déplacés.

Face à une longue liste de changements à examiner, il est beaucoup plus facile de se concentrer sur les éléments les @@ -69,12 +71,12 @@ export default { { title: { "en-US": "That's it for Beta 3!", - "ja": "ベータ2については以上です!", + "ja": "ベータ3については以上です!", "fr": "C'est tout pour la bêta 3 !" }, description: { "en-US": `

Keep clicking through to see what was added in previous beta releases

`, - "ja": `

クリックを続けてベータ1で追加された内容を確認してください。

`, + "ja": `

クリックを続けて、これまでのベータリリースで追加された内容を確認してください。

`, "fr": `

Continuez à cliquer pour voir ce qui a été ajouté dans la version bêta 1

` } }, diff --git a/packages/node_modules/@node-red/nodes/core/function/10-function.js b/packages/node_modules/@node-red/nodes/core/function/10-function.js index 6ef890dca..0120d8c92 100644 --- a/packages/node_modules/@node-red/nodes/core/function/10-function.js +++ b/packages/node_modules/@node-red/nodes/core/function/10-function.js @@ -25,19 +25,19 @@ module.exports = function(RED) { function sendResults(node,send,_msgid,msgs,cloneFirstMessage) { if (msgs == null) { return; - } else if (!util.isArray(msgs)) { + } else if (!Array.isArray(msgs)) { msgs = [msgs]; } var msgCount = 0; for (var m=0; m debuglength) { + } else if (Array.isArray(value) && value.length > debuglength) { value = { __enc__: true, type: "array", diff --git a/packages/node_modules/node-red/settings.js b/packages/node_modules/node-red/settings.js index cb7b58795..d96f62a30 100644 --- a/packages/node_modules/node-red/settings.js +++ b/packages/node_modules/node-red/settings.js @@ -133,6 +133,7 @@ module.exports = { * - httpServerOptions * - httpAdminRoot * - httpAdminMiddleware + * - httpAdminCookieOptions * - httpNodeRoot * - httpNodeCors * - httpNodeMiddleware @@ -178,6 +179,11 @@ module.exports = { // next(); // }, + /** The following property can be used to set addition options on the session + * cookie used as part of adminAuth authentication system + * Available options are documented here: https://www.npmjs.com/package/express-session#cookie + */ + // httpAdminCookieOptions: { }, /** Some nodes, such as HTTP In, can be used to listen for incoming http requests. * By default, these are served relative to '/'. The following property