From 60b7f61e42cd01a9e75c542f060bc0f18b699834 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Tue, 22 Feb 2022 17:21:08 +0100 Subject: [PATCH] Resolve #203 --- dev/View/Popup/Compose.js | 31 +++++++++---------------------- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/dev/View/Popup/Compose.js b/dev/View/Popup/Compose.js index 088f3bb49..d9278521d 100644 --- a/dev/View/Popup/Compose.js +++ b/dev/View/Popup/Compose.js @@ -701,42 +701,29 @@ class ComposePopupView extends AbstractViewPopup { } findIdentityByMessage(composeType, message) { - let resultIndex = 1000, - resultIdentity = null; - const identities = IdentityUserStore(), - identitiesCache = {}, - fEachHelper = (item) => { - if (item && item.email && identitiesCache[item.email]) { - if (!resultIdentity || resultIndex > identitiesCache[item.email][1]) { - resultIdentity = identitiesCache[item.email][0]; - resultIndex = identitiesCache[item.email][1]; - } - } - }; - - identities.forEach((item, index) => identitiesCache[item.email()] = [item, index]); + let resultIdentity = null; + const find = addresses => { + addresses = addresses.map(item => item.email); + return IdentityUserStore.find(item => addresses.includes(item.email())); + }; if (message) { switch (composeType) { - case ComposeType.Empty: - break; case ComposeType.Reply: case ComposeType.ReplyAll: case ComposeType.Forward: case ComposeType.ForwardAsAttachment: - message.to.concat(message.cc, message.bcc).forEach(fEachHelper); - if (!resultIdentity) { - message.deliveredTo.forEach(fEachHelper); - } + resultIdentity = find(message.to.concat(message.cc, message.bcc))/* || find(message.deliveredTo)*/; break; case ComposeType.Draft: - message.from.concat(message.replyTo).forEach(fEachHelper); + resultIdentity = find(message.from.concat(message.replyTo)); break; // no default +// case ComposeType.Empty: } } - return resultIdentity || identities[0] || null; + return resultIdentity || IdentityUserStore()[0] || null; } selectIdentity(identity) {