From e8c93a1d0cb14ec5451c427e02dc663a09f03b1a Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Sun, 12 Feb 2023 18:28:30 +0100 Subject: [PATCH] Improved EmailModel handling --- dev/Model/Email.js | 17 ++++------------- dev/View/User/MailBox/MessageList.js | 4 ++-- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/dev/Model/Email.js b/dev/Model/Email.js index bb4c5a525..1dc821373 100644 --- a/dev/Model/Email.js +++ b/dev/Model/Email.js @@ -266,7 +266,7 @@ export class EmailModel extends AbstractModel { this.name = name; this.dkimStatus = dkimStatus; - this.clearDuplicateName(); + this.cleanup(); } /** @@ -276,7 +276,7 @@ export class EmailModel extends AbstractModel { */ static reviveFromJson(json) { const email = super.reviveFromJson(json); - email?.clearDuplicateName(); + email?.cleanup(); return email; } @@ -286,7 +286,6 @@ export class EmailModel extends AbstractModel { clear() { this.email = ''; this.name = ''; - this.dkimStatus = 'none'; } @@ -297,18 +296,10 @@ export class EmailModel extends AbstractModel { return this.name || this.email; } - /** - * @param {boolean} withoutName = false - * @returns {string} - */ - hash(withoutName = false) { - return '#' + (withoutName ? '' : this.name) + '#' + (this.email || this.name) + '#'; - } - /** * @returns {void} */ - clearDuplicateName() { + cleanup() { if (this.name === this.email) { this.name = ''; } @@ -385,7 +376,7 @@ export class EmailModel extends AbstractModel { if (result.length) { this.name = result[0].name || ''; this.email = result[0].address || ''; - this.clearDuplicateName(); + this.cleanup(); return true; } } diff --git a/dev/View/User/MailBox/MessageList.js b/dev/View/User/MailBox/MessageList.js index b2af392ea..c6cc28bfa 100644 --- a/dev/View/User/MailBox/MessageList.js +++ b/dev/View/User/MailBox/MessageList.js @@ -162,12 +162,12 @@ export class MailMessageList extends AbstractViewRight { let list = [], current, sort = FolderUserStore.sortMode() || 'DATE'; if (sort.includes('FROM')) { MessagelistUserStore.forEach(msg => { - let email = msg.from?.[0].email; + let email = msg.from[0].email; if (!current || email != current.id) { current = { id: email, label: msg.from[0].toLine(), - search: 'from=' + msg.from[0].email, + search: 'from=' + email, messages: [] }; list.push(current);