diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js b/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js index 37dabe663..ca74b3eff 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/editor.js @@ -853,6 +853,25 @@ RED.editor = (function() { } } } + + if (editing_node._def.credentials) { + for (const prop in editing_node._def.credentials) { + if (Object.prototype.hasOwnProperty.call(editing_node._def.credentials, prop)) { + if (oldCreds[prop] !== editing_node.credentials[prop]) { + if (editing_node.credentials[prop] === '__PWRD__') { + // The password may not exist in oldCreds + // The value '__PWRD__' means the password exists, + // so ignore this change + continue; + } + editState.changes.credentials = editState.changes.credentials || {}; + editState.changes.credentials['has_' + prop] = oldCreds['has_' + prop]; + editState.changes.credentials[prop] = oldCreds[prop]; + editState.changed = true; + } + } + } + } } }