Skip to content

Commit

Permalink
fetchConversation: Minimize scans across loaded messages
Browse files Browse the repository at this point in the history
FREEBIE
  • Loading branch information
scottnonnenberg committed May 25, 2017
1 parent d5d1d58 commit 3beecce
Showing 1 changed file with 16 additions and 7 deletions.
23 changes: 16 additions & 7 deletions js/models/messages.js
Expand Up @@ -564,7 +564,11 @@
if (typeof unreadCount !== 'number') {
unreadCount = 0;
}
var startingLoadedUnread = this.getLoadedUnreadCount();

var startingLoadedUnread = 0;
if (unreadCount > 0) {
startingLoadedUnread = this.getLoadedUnreadCount();
}
return new Promise(function(resolve) {
var upper;
if (this.length === 0) {
Expand All @@ -586,12 +590,17 @@
};
this.fetch(options).then(resolve);
}.bind(this)).then(function() {
var loadedUnread = this.getLoadedUnreadCount();
if (startingLoadedUnread === loadedUnread) {
// that fetch didn't get us any more unread. stop fetching more.
return;
}
if (loadedUnread < unreadCount) {
if (unreadCount > 0) {
if (unreadCount <= startingLoadedUnread) {
return;
}

var loadedUnread = this.getLoadedUnreadCount();
if (startingLoadedUnread === loadedUnread) {
// that fetch didn't get us any more unread. stop fetching more.
return;
}

return this.fetchConversation(conversationId, limit, unreadCount);
}
}.bind(this));
Expand Down

0 comments on commit 3beecce

Please sign in to comment.