From 410e5b8faf0a1ed51d7af08cdccb647100c3cbd6 Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Fri, 13 Jun 2025 13:33:42 +0100 Subject: [PATCH 1/6] Allow limited Strings for msg.rejectUnauthorized fixes #5171 If `msg.rejectUnauthorized` is a string allow "true", "false" (and upper case versions) otherwise show a warning and use default behaviour. Boolean values used as is, any other types also ignored. --- .../@node-red/nodes/core/network/21-httprequest.js | 13 ++++++++++++- .../@node-red/nodes/locales/en-US/messages.json | 3 ++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/node_modules/@node-red/nodes/core/network/21-httprequest.js b/packages/node_modules/@node-red/nodes/core/network/21-httprequest.js index 194d06175..b3aa9cfd7 100644 --- a/packages/node_modules/@node-red/nodes/core/network/21-httprequest.js +++ b/packages/node_modules/@node-red/nodes/core/network/21-httprequest.js @@ -599,7 +599,18 @@ in your Node-RED user directory (${RED.settings.userDir}). } } else { if (msg.hasOwnProperty('rejectUnauthorized')) { - opts.https = { rejectUnauthorized: msg.rejectUnauthorized }; + if (typeof msg.rejectUnauthorized === 'boolean') { + opts.https = { rejectUnauthorized: msg.rejectUnauthorized } + } else if (typeof msg.rejectUnauthorized === 'string') { + if (msg.rejectUnauthorized.toLowerCase() === 'true' || msg.rejectUnauthorized.toLowerCase() === 'false') { + opts.https = { rejectUnauthorized: (msg.rejectUnauthorized.toLowerCase() === 'true') } + } else { + node.warn(RED._("httpin.errors.rejectunauthorized-invalid")) + } + } else { + node.warn(RED._("httpin.errors.rejectunauthorized-invalid")) + } + } } diff --git a/packages/node_modules/@node-red/nodes/locales/en-US/messages.json b/packages/node_modules/@node-red/nodes/locales/en-US/messages.json index 7cde427f4..6d33e78aa 100644 --- a/packages/node_modules/@node-red/nodes/locales/en-US/messages.json +++ b/packages/node_modules/@node-red/nodes/locales/en-US/messages.json @@ -563,7 +563,8 @@ "timeout-isnan": "Timeout value is not a valid number, ignoring", "timeout-isnegative": "Timeout value is negative, ignoring", "invalid-payload": "Invalid payload", - "invalid-url": "Invalid url" + "invalid-url": "Invalid url", + "rejectunauthorized-invalid": "msg.rejectUnauthorized should be a boolean" }, "status": { "requesting": "requesting" From 922229221f4f13063659a7db033bcf67a2dbef46 Mon Sep 17 00:00:00 2001 From: Kazuhito Yokoi Date: Sun, 15 Jun 2025 00:53:35 +0900 Subject: [PATCH 2/6] Fix image URLs in welcome tour for Node-RED v4.0 --- .../editor-client/src/tours/4.0/welcome.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/node_modules/@node-red/editor-client/src/tours/4.0/welcome.js b/packages/node_modules/@node-red/editor-client/src/tours/4.0/welcome.js index 02a559136..a55763189 100644 --- a/packages/node_modules/@node-red/editor-client/src/tours/4.0/welcome.js +++ b/packages/node_modules/@node-red/editor-client/src/tours/4.0/welcome.js @@ -20,7 +20,7 @@ export default { "ja": "複数ユーザ同時利用モード", "fr": "Mode Multi-utilisateur" }, - image: 'images/nr4-multiplayer-location.png', + image: '4.0/images/nr4-multiplayer-location.png', description: { "en-US": `

This release includes the first small steps towards making Node-RED easier to work with when you have multiple people editing flows at the same time.

@@ -44,7 +44,7 @@ export default { "ja": "バックグラウンドのデプロイ処理の改善", "fr": "Meilleure gestion du déploiement en arrière-plan" }, - image: 'images/nr4-background-deploy.png', + image: '4.0/images/nr4-background-deploy.png', description: { "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 @@ -60,7 +60,7 @@ export default { "ja": "フローの差分表示の改善", "fr": "Amélioration des différences de flux" }, - image: 'images/nr4-diff-update.png', + image: '4.0/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.

@@ -79,7 +79,7 @@ export default { "ja": "設定ノードのUXが向上", "fr": "Meilleure expérience utilisateur du noeud de configuration" }, - image: 'images/nr4-config-select.png', + image: '4.0/images/nr4-config-select.png', description: { "en-US": `

The Configuration node selection UI has had a small update to have a dedicated 'add' button next to the select box.

@@ -97,7 +97,7 @@ export default { "ja": "タイムスタンプの形式の項目", "fr": "Options de formatage de l'horodatage" }, - image: 'images/nr4-timestamp-formatting.png', + image: '4.0/images/nr4-timestamp-formatting.png', description: { "en-US": `

Nodes that let you set a timestamp now have options on what format that timestamp should be in.

We're keeping it simple to begin with by providing three options:

@@ -128,7 +128,7 @@ export default { "ja": "フロー/グローバル、環境変数の型の自動補完", "fr": "Saisie automatique des types de flux/global et env" }, - image: 'images/nr4-auto-complete.png', + image: '4.0/images/nr4-auto-complete.png', description: { "en-US": `

The flow/global context inputs and the env input now all include auto-complete suggestions based on the live state of your flows.

@@ -146,7 +146,7 @@ export default { "ja": "サブフローでの設定ノードのカスタマイズ", "fr": "Personnalisation du noeud de configuration dans les sous-flux" }, - image: 'images/nr4-sf-config.png', + image: '4.0/images/nr4-sf-config.png', description: { "en-US": `

Subflows can now be customised to allow each instance to use a different config node of a selected type.

@@ -183,7 +183,7 @@ export default { "ja": "パレット管理にプラグインを表示", "fr": "Affichage des Plugins dans le gestionnaire de palettes" }, - image: 'images/nr4-plugins.png', + image: '4.0/images/nr4-plugins.png', description: { "en-US": `

The palette manager now shows any plugin modules you have installed, such as node-red-debugger. Previously they would only be shown if the plugins include From 09a539a710170ebb6565707897310525dc2caf9d Mon Sep 17 00:00:00 2001 From: Kazuhito Yokoi Date: Sun, 15 Jun 2025 00:58:20 +0900 Subject: [PATCH 3/6] Make explanation of update notifications more specific --- .../@node-red/editor-client/locales/en-US/editor.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json b/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json index bade10e6f..1aa92c370 100644 --- a/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json +++ b/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json @@ -1290,7 +1290,7 @@ "label": "Update Notifications", "settingsTitle": "Enable Update Notifications", "settingsDescription": "

Node-RED can notify you when there is a new version available. This ensures you keep up to date with the latest features and fixes.

This requires sending anonymised data back to the Node-RED team. It does not include any details of your flows or users.

For full information on what information is collected and how it is used, please see the documentation.

", - "settingsDescription2": "

You can change this setting at any time in the editor settings.

", + "settingsDescription2": "

You can change this setting at any time in the User Settings.

", "enableLabel": "Yes, enable notifications", "disableLabel": "No, do not enable notifications", "updateAvailable": "Update available", From 2886fc326cee8dd3cf30f5a65c59a9e8b74bec55 Mon Sep 17 00:00:00 2001 From: Kazuhito Yokoi Date: Sun, 15 Jun 2025 01:01:55 +0900 Subject: [PATCH 4/6] Add Japanese translations for 4.1.0-beta.1 --- .../editor-client/locales/ja/editor.json | 26 ++++++++++++++++++- .../editor-client/src/tours/welcome.js | 26 ++++++++++++++++--- .../@node-red/nodes/locales/ja/messages.json | 1 + 3 files changed, 49 insertions(+), 4 deletions(-) diff --git a/packages/node_modules/@node-red/editor-client/locales/ja/editor.json b/packages/node_modules/@node-red/editor-client/locales/ja/editor.json index e6c02590b..b65730c52 100644 --- a/packages/node_modules/@node-red/editor-client/locales/ja/editor.json +++ b/packages/node_modules/@node-red/editor-client/locales/ja/editor.json @@ -111,6 +111,7 @@ "userSettings": "ユーザ設定", "nodes": "ノード", "displayStatus": "ノードのステータスを表示", + "displayInfoIcon": "ノード情報のアイコンを表示", "displayConfig": "設定ノード", "import": "読み込み", "importExample": "フロー例を読み込み", @@ -264,6 +265,8 @@ "download": "ダウンロード", "importUnrecognised": "認識できない型が読み込まれました:", "importUnrecognised_plural": "認識できない型が読み込まれました:", + "importWithModuleInfo": "必要なモジュールが不足", + "importWithModuleInfoDesc": "以下のノードは現在パレットにインストールされていませんが、読み込んだフローには必要なノードです:", "importDuplicate": "重複したノードを読み込みました:", "importDuplicate_plural": "重複したノードを読み込みました:", "nodesExported": "クリップボードへフローを書き出しました", @@ -623,12 +626,15 @@ "yearsMonthsV": "__y__ 年 __count__ ヵ月前", "yearsMonthsV_plural": "__y__ 年 __count__ ヵ月前" }, + "manageModules": "モジュールを管理", "nodeCount": "__label__ 個のノード", "nodeCount_plural": "__label__ 個のノード", "pluginCount": "__count__ 個のプラグイン", "pluginCount_plural": "__count__ 個のプラグイン", "moduleCount": "__count__ 個のモジュール", "moduleCount_plural": "__count__ 個のモジュール", + "updateCount": "__count__ 個の更新が存在", + "updateCount_plural": "__count__ 個の更新が存在", "inuse": "使用中", "enableall": "全て有効化", "disableall": "全て無効化", @@ -638,9 +644,12 @@ "update": "__version__ へ更新", "updated": "更新済", "install": "ノードを追加", + "installAll": "全てインストール", "installed": "追加しました", + "installing": "モジュールのインストールが進行中: __module__", "conflict": "競合", "conflictTip": "

インストール済みのノードの種別と競合しているため
ノードをインストールできません

競合: __module__

", + "majorVersion": "

これはノードのメジャーバージョンの更新です。更新内容の詳細については、ドキュメントを確認してください。

", "loading": "カタログを読み込み中", "tab-nodes": "現在のノード", "tab-install": "ノードを追加", @@ -648,9 +657,12 @@ "sortRelevance": "関連順", "sortAZ": "辞書順", "sortRecent": "日付順", + "successfulInstall": "モジュールのインストールが成功", "more": "+ さらに __count__ 個", "upload": "モジュールのtgzファイルをアップロード", "refresh": "モジュールリスト更新", + "deprecated": "非推奨", + "deprecatedTip": "本モジュールは非推奨です", "errors": { "catalogLoadFailed": "

ノードのカタログの読み込みに失敗しました。

詳細はブラウザのコンソールを確認してください。

", "installFailed": "

追加処理が失敗しました: __module__

__message__

詳細はログを確認してください。

", @@ -1262,6 +1274,16 @@ "header": "グローバル環境変数", "revert": "破棄" }, + "telemetry": { + "label": "更新の通知", + "settingsTitle": "更新の通知を有効化", + "settingsDescription": "

新バージョンのNode-REDが存在した時に、通知を受けることができます。この機能によって最新機能の提供や修正があることを把握できます。

この通知を受け取るには、匿名化されたデータをNode-REDチームに送る必要があります。このデータには、フローやユーザの詳細は含まれません。

収集される情報と利用方法の詳細については、ドキュメントを参照してください。

", + "settingsDescription2": "

この設定はユーザ設定からいつでも変更できます。

", + "enableLabel": "はい、通知を有効にします", + "disableLabel": "いいえ、通知を有効にしません", + "updateAvailable": "更新を利用可能", + "updateAvailableDesc": "現在、Node-RED __version__ が利用可能" + }, "action-list": { "toggle-show-tips": "ヒント表示切替", "show-about": "Node-REDの説明を表示", @@ -1302,6 +1324,7 @@ "toggle-show-grid": "グリッド表示切替", "toggle-snap-grid": "ノードの配置補助切替", "toggle-status": "ステータス表示切替", + "toggle-node-info-icon": "ノード情報のアイコン表示切替", "show-selected-node-labels": "選択したノードのラベルを表示", "hide-selected-node-labels": "選択したノードのラベルを非表示", "scroll-view-up": "上スクロール", @@ -1414,6 +1437,7 @@ "show-global-env": "グローバル環境変数を表示", "lock-flow": "フローを固定", "unlock-flow": "フローの固定を解除", - "show-node-help": "ノードのヘルプを表示" + "show-node-help": "ノードのヘルプを表示", + "trigger-selected-nodes-action": "選択したノードのアクションを実行" } } diff --git a/packages/node_modules/@node-red/editor-client/src/tours/welcome.js b/packages/node_modules/@node-red/editor-client/src/tours/welcome.js index 627f542be..f77c7c60a 100644 --- a/packages/node_modules/@node-red/editor-client/src/tours/welcome.js +++ b/packages/node_modules/@node-red/editor-client/src/tours/welcome.js @@ -17,23 +17,28 @@ export default { { title: { "en-US": "Update notifications", + "ja": "更新の通知", "fr": "Notifications de mise à jour" }, image: 'images/update-notification.png', description: { "en-US": `

Stay up to date with notifications when there is a new Node-RED version available, or updates to the nodes you have installed

`, + "en-US": `

新バージョンのNode-REDの提供や、インストールしたノードの更新があった時に、通知を受け取ることができます。

`, "fr": `

Désormais vous recevrez une notification lorsqu'une nouvelle version de Node-RED ou une nouvelle version relative à un des noeuds que vous avez installés est disponible

` } }, { title: { "en-US": "Flow documentation", + "ja": "フローのドキュメント", "fr": "Documentation des flux" }, image: 'images/node-docs.png', description: { "en-US": `

Quickly see which nodes have additional documentation with the new documentation icon.

Clicking on the icon opens up the Description tab of the node edit dialog.

`, + "ja": `

ドキュメントアイコンによって、どのノードにドキュメントが追加されているかをすぐに確認できます。

+

アイコンをクリックすると、ノード編集ダイアログの説明タブが開きます。

`, "fr": `

Voyez rapidement quels noeuds ont une documentation supplémentaire avec la nouvelle icône de documentation.

Cliquer sur l'icône ouvre l'onglet Description de la boîte de dialogue d'édition du noeud.

` } @@ -41,6 +46,7 @@ export default { { title: { "en-US": "Palette Manager Improvements", + "ja": "パレットの管理の改善", "fr": "Améliorations du Gestionnaire de Palettes" }, description: { @@ -50,6 +56,12 @@ export default {
  • See which nodes have been deprecated by their author and are no longer recommended for use
  • Links to node documentation for the nodes you already have installed
  • `, + "ja": `

    パレットの管理に多くの改善が加えられました:

    +
      +
    • 検索結果はダウンロード数順で並べられ、最も人気のあるノードを見つけやすくなりました。
    • +
    • 作者によって非推奨とされ、利用が推奨されなくなったノードかを確認できるようになりました。
    • +
    • 既にインストールされているノードに、ノードのドキュメントへのリンクが追加されました。
    • +
    `, "fr": `

    Le Gestionnaire de Palettes a bénéficié de nombreuses améliorations :

    • Les résultats de recherche sont triés par téléchargement pour vous aider à trouver les noeuds les plus populaires.
    • @@ -61,6 +73,7 @@ export default { { title: { "en-US": "Installing missing modules", + "ja": "不足モジュールのインストール", "fr": "Installation des modules manquants" }, image: 'images/missing-modules.png', @@ -68,6 +81,9 @@ export default { "en-US": `

      Flows exported from Node-RED 4.1 now include information on what additional modules need to be installed.

      When importing a flow with this information, the editor will let you know what is missing and help to get them installed.

      `, + "ja": `

      Node-RED 4.1から書き出したフローには、インストールが必要な追加モジュールの情報が含まれる様になりました。

      +

      この情報を含むフローを読み込むと、エディタは不足しているモジュールを通知し、インストールを支援します。

      + `, "fr": `

      Les flux exportés depuis Node-RED 4.1 incluent désormais des informations sur les modules supplémentaires à installer.

      Lors de l'importation d'un flux contenant ces informations, l'éditeur vous indiquera les modules manquants et vous aidera à les installer.

      ` @@ -89,9 +105,13 @@ export default {
    • Better display of error objects in the Debug sidebar
    • and lots more...
    `, - // "ja": `

    コアノードには沢山の軽微な修正、ドキュメント更新、小さな機能拡張が入っています。全リストはヘルプサイドバーにある変更履歴を参照してください。

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

    コアノードには沢山の軽微な修正、ドキュメント更新、小さな機能拡張が入っています。全リストはヘルプサイドバーにある変更履歴を参照してください。

    +
      +
    • Functionノードでnode:のプレフィックスモジュールをサポート
    • +
    • ランタイム設定からFunctionノードのグローバルタイムアウトを設定可能
    • +
    • デバッグサイドバーでのエラーオブジェクトの表示を改善
    • +
    • その他、多数...
    • +
    `, "fr": `

    Les noeuds principaux ont bénéficié de nombreux correctifs mineurs, de mises à jour de documentation et d'améliorations mineures. Consultez le journal complet des modifications dans la barre latérale d'aide pour une liste complète.

      diff --git a/packages/node_modules/@node-red/nodes/locales/ja/messages.json b/packages/node_modules/@node-red/nodes/locales/ja/messages.json index 1693f879e..118d6af2c 100644 --- a/packages/node_modules/@node-red/nodes/locales/ja/messages.json +++ b/packages/node_modules/@node-red/nodes/locales/ja/messages.json @@ -406,6 +406,7 @@ "label": { "unknown": "unknown" }, + "manageModules": "モジュールを管理", "tip": "

      現在のNode-RED環境では、本ノードの型が不明です。

      現在の状態で本ノードをデプロイすると設定は保存されますが、不明なノードがインストールされるまでフローは実行されません。

      詳細はノードの「情報」を参照してください。

      " }, "mqtt": { From 51e0e18045f8704b3e569dfca2c55cc76084cca3 Mon Sep 17 00:00:00 2001 From: Kazuhito Yokoi Date: Sun, 15 Jun 2025 01:29:39 +0900 Subject: [PATCH 5/6] Fix typo in welcome tour --- .../node_modules/@node-red/editor-client/src/tours/welcome.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/node_modules/@node-red/editor-client/src/tours/welcome.js b/packages/node_modules/@node-red/editor-client/src/tours/welcome.js index f77c7c60a..8041db469 100644 --- a/packages/node_modules/@node-red/editor-client/src/tours/welcome.js +++ b/packages/node_modules/@node-red/editor-client/src/tours/welcome.js @@ -23,7 +23,7 @@ export default { image: 'images/update-notification.png', description: { "en-US": `

      Stay up to date with notifications when there is a new Node-RED version available, or updates to the nodes you have installed

      `, - "en-US": `

      新バージョンのNode-REDの提供や、インストールしたノードの更新があった時に、通知を受け取ることができます。

      `, + "ja": `

      新バージョンのNode-REDの提供や、インストールしたノードの更新があった時に、通知を受け取ることができます。

      `, "fr": `

      Désormais vous recevrez une notification lorsqu'une nouvelle version de Node-RED ou une nouvelle version relative à un des noeuds que vous avez installés est disponible

      ` } }, From f24bf3549c9f83365eb02a61e2c520aa1f96a6b4 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Mon, 16 Jun 2025 11:32:43 +0100 Subject: [PATCH 6/6] Do not use css display when counting filtered palette nodes --- .../node_modules/@node-red/editor-client/src/js/ui/palette.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/palette.js b/packages/node_modules/@node-red/editor-client/src/js/ui/palette.js index 5c9c9e5d2..89337e7c9 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/palette.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/palette.js @@ -80,7 +80,7 @@ RED.palette = (function() { getNodeCount: function (visibleOnly) { const nodes = catDiv.find(".red-ui-palette-node") if (visibleOnly) { - return nodes.filter(function() { return $(this).css('display') !== 'none'}).length + return nodes.filter(function() { return $(this).attr("data-filter") !== "true"}).length } else { return nodes.length } @@ -572,8 +572,10 @@ RED.palette = (function() { var currentLabel = $(el).attr("data-palette-label"); var type = $(el).attr("data-palette-type"); if (val === "" || re.test(type) || re.test(currentLabel)) { + $(el).attr("data-filter", null) $(this).show(); } else { + $(el).attr("data-filter", "true") $(this).hide(); } });