From 0599922016dabeb5890277e12e36fcef6312250d Mon Sep 17 00:00:00 2001 From: Francis Lachapelle Date: Wed, 30 Jun 2021 11:20:29 -0400 Subject: [PATCH] fix(mail(js)): update visible msgs list when adding new msgs --- UI/WebServerResources/js/Mailer/Mailbox.service.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/UI/WebServerResources/js/Mailer/Mailbox.service.js b/UI/WebServerResources/js/Mailer/Mailbox.service.js index 1ca1925ef..be883aa8a 100644 --- a/UI/WebServerResources/js/Mailer/Mailbox.service.js +++ b/UI/WebServerResources/js/Mailer/Mailbox.service.js @@ -980,7 +980,7 @@ this.$futureMailboxData.then(function(data) { var selectedMessages = _.map(_this.$selectedMessages, 'uid'); Mailbox.$timeout(function() { - var uids, headers, headersFields, msgObject; + var uids, headers, headersFields, msgObject, hasNewMessages = false; if (!data.uids || _this.$topIndex > data.uids.length - 1) _this.$topIndex = 0; @@ -1004,6 +1004,7 @@ // New messsage; update map of UID <=> index _this.uidsMap[uid] = i; _this.$messages.splice(i, 0, {uid: uid}); + hasNewMessages = true; i++; } }); @@ -1014,9 +1015,6 @@ msgObject = _this.$messages[j]; _this.uidsMap[msgObject.uid] += i; } - if (_this.threaded) { - _this.updateVisibleMessages(); - } } } if (data.unseenCount) { @@ -1090,6 +1088,10 @@ }); } + if (hasNewMessages && _this.threaded) { + _this.updateVisibleMessages(); + } + Mailbox.$log.debug('mailbox ' + _this.id + ' ready'); _this.$isLoading = false; deferred.resolve(_this.$messages);