From 8f3738bfef7bbbd19583c2ef7b215c0940c26633 Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Mon, 13 Jul 2020 12:29:35 -0400 Subject: [PATCH] fix(mail(js)): pick proper "from" address when replying/forwarding Fixes #5072 --- .../js/Mailer/MessageEditorController.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/UI/WebServerResources/js/Mailer/MessageEditorController.js b/UI/WebServerResources/js/Mailer/MessageEditorController.js index e97bb597e..9aaea23a9 100644 --- a/UI/WebServerResources/js/Mailer/MessageEditorController.js +++ b/UI/WebServerResources/js/Mailer/MessageEditorController.js @@ -360,16 +360,20 @@ }; this.setFromIdentity = function (identity) { - var node, children, nl, space, signature, previousIdentity; + var node, children, nl, reNl, space, signature, previousIdentity; - if (identity) + if (identity && identity.full) this.message.editable.from = identity.full; + else if (identity && identity.length) + return; if (this.composeType == "html") { nl = '
'; + reNl = '
[ \n]?'; space = ' '; } else { nl = '\n'; + reNl = '\n'; space = ' '; } @@ -380,7 +384,7 @@ previousIdentity = _.find(this.identities, function (currentIdentity, index) { if (currentIdentity.signature) { - var currentSignature = new RegExp(nl + ' ?' + nl + '--' + space + nl + currentIdentity.signature); + var currentSignature = new RegExp(reNl + reNl + '--' + space + reNl + currentIdentity.signature); if (vm.message.editable.text.search(currentSignature) >= 0) { vm.message.editable.text = vm.message.editable.text.replace(currentSignature, signature); return true; @@ -392,7 +396,7 @@ if (!previousIdentity && signature.length > 0) { // Must place signature at proper place if (!this.isNew() && this.signaturePlacement == 'above') { - var quotedMessageIndex = this.message.editable.text.search(new RegExp(nl + '.+?:( ?' + nl + '){2}(> |
|
= 0) { this.message.editable.text = this.message.editable.text.slice(0, quotedMessageIndex) +