From 1fdc600ecd0c06e8c2f205e3b9bd2b963f887c15 Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Thu, 18 Apr 2024 11:27:32 +0100 Subject: [PATCH 1/4] Add npm install timeout notification part of https://github.com/node-red/node-red/issues/4622 --- .../editor-client/locales/en-US/editor.json | 3 ++- .../editor-client/src/js/ui/palette-editor.js | 27 ++++++++++++++++--- 2 files changed, 25 insertions(+), 5 deletions(-) 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 34ed30cef0..05bb7fc66d 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 @@ -668,7 +668,8 @@ "remove": "Remove", "update": "Update" } - } + }, + "timeout": "

Install continuing the background, Nodes will appear in palette when complete.

Or you can monitor the install logs

" } }, "sidebar": { diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/palette-editor.js b/packages/node_modules/@node-red/editor-client/src/js/ui/palette-editor.js index 8d3815749e..a1df371856 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/palette-editor.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/palette-editor.js @@ -133,7 +133,7 @@ RED.palette.editor = (function() { }).done(function(data,textStatus,xhr) { callback(); }).fail(function(xhr,textStatus,err) { - callback(xhr); + callback(xhr,textStatus,err); }); } function removeNodeModule(id,callback) { @@ -143,7 +143,7 @@ RED.palette.editor = (function() { }).done(function(data,textStatus,xhr) { callback(); }).fail(function(xhr,textStatus,err) { - callback(xhr); + callback(xhr, textStatus, err); }) } @@ -1270,9 +1270,28 @@ RED.palette.editor = (function() { RED.actions.invoke("core:show-event-log"); }); RED.eventLog.startEvent(RED._("palette.editor.confirm.button.install")+" : "+entry.id+" "+entry.version); - installNodeModule(entry.id,entry.version,entry.pkg_url,function(xhr) { + installNodeModule(entry.id,entry.version,entry.pkg_url,function(xhr, textStatus,err) { spinner.remove(); - if (xhr) { + if (err && xhr.status === 504) { + var notification = RED.notify(RED._("palette.editor.timeout"), { + modal: true, + fixed: true, + buttons: [ + { + text: RED._("common.label.close"), + click: function() { + notification.close(); + } + },{ + text: RED._("eventLog.view"), + click: function() { + notification.close(); + RED.actions.invoke("core:show-event-log"); + } + } + ] + }) + } else if (xhr) { if (xhr.responseJSON) { var notification = RED.notify(RED._('palette.editor.errors.installFailed',{module: entry.id,message:xhr.responseJSON.message}),{ type: 'error', From c990ec39d603059b0249d24a17b9e4c48fd6ea92 Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Thu, 18 Apr 2024 11:35:51 +0100 Subject: [PATCH 2/4] revert DELETE change --- .../@node-red/editor-client/src/js/ui/palette-editor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/palette-editor.js b/packages/node_modules/@node-red/editor-client/src/js/ui/palette-editor.js index a1df371856..05e6522b0f 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/palette-editor.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/palette-editor.js @@ -143,7 +143,7 @@ RED.palette.editor = (function() { }).done(function(data,textStatus,xhr) { callback(); }).fail(function(xhr,textStatus,err) { - callback(xhr, textStatus, err); + callback(xhr); }) } From 5f4ece68130c41a455a9af2144b6c06e081b30d2 Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Thu, 18 Apr 2024 11:47:49 +0100 Subject: [PATCH 3/4] Move translation --- .../@node-red/editor-client/locales/en-US/editor.json | 4 ++-- .../@node-red/editor-client/src/js/ui/palette-editor.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) 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 05bb7fc66d..1578fb923d 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 @@ -641,6 +641,7 @@ "errors": { "catalogLoadFailed": "

Failed to load node catalogue.

Check the browser console for more information

", "installFailed": "

Failed to install: __module__

__message__

Check the log for more information

", + "installTimeout": "

Install continuing the background, Nodes will appear in palette when complete.

Or you can monitor the install logs

", "removeFailed": "

Failed to remove: __module__

__message__

Check the log for more information

", "updateFailed": "

Failed to update: __module__

__message__

Check the log for more information

", "enableFailed": "

Failed to enable: __module__

__message__

Check the log for more information

", @@ -668,8 +669,7 @@ "remove": "Remove", "update": "Update" } - }, - "timeout": "

Install continuing the background, Nodes will appear in palette when complete.

Or you can monitor the install logs

" + } } }, "sidebar": { diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/palette-editor.js b/packages/node_modules/@node-red/editor-client/src/js/ui/palette-editor.js index 05e6522b0f..e2830b755b 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/palette-editor.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/palette-editor.js @@ -1273,7 +1273,7 @@ RED.palette.editor = (function() { installNodeModule(entry.id,entry.version,entry.pkg_url,function(xhr, textStatus,err) { spinner.remove(); if (err && xhr.status === 504) { - var notification = RED.notify(RED._("palette.editor.timeout"), { + var notification = RED.notify(RED._("palette.editor.errors.installTimeout"), { modal: true, fixed: true, buttons: [ From 148e64c3daa39f064d83e74a0a212101c0350e6f Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Thu, 18 Apr 2024 14:22:50 +0100 Subject: [PATCH 4/4] Update packages/node_modules/@node-red/editor-client/locales/en-US/editor.json Co-authored-by: Nick O'Leary --- .../@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 faf8b2f720..94abf9b0a0 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 @@ -643,7 +643,7 @@ "errors": { "catalogLoadFailed": "

Failed to load node catalogue.

Check the browser console for more information

", "installFailed": "

Failed to install: __module__

__message__

Check the log for more information

", - "installTimeout": "

Install continuing the background, Nodes will appear in palette when complete.

Or you can monitor the install logs

", + "installTimeout": "

Install continuing the background.

Nodes will appear in palette when complete. Check the log for more information.

", "removeFailed": "

Failed to remove: __module__

__message__

Check the log for more information

", "updateFailed": "

Failed to update: __module__

__message__

Check the log for more information

", "enableFailed": "

Failed to enable: __module__

__message__

Check the log for more information

",