diff --git a/js/background.js b/js/background.js index 2dcf141bb32..d4f795002c6 100644 --- a/js/background.js +++ b/js/background.js @@ -155,7 +155,7 @@ function updateConversation(conversationId) { var conversation = ConversationController.get(conversationId); if (conversation) { - conversation.fetchMessages(); + conversation.trigger('newmessages'); } } diff --git a/js/panel_controller.js b/js/panel_controller.js index b8b4b1ab32c..2f299e0176a 100644 --- a/js/panel_controller.js +++ b/js/panel_controller.js @@ -87,7 +87,7 @@ conversation.fetch(); } if (inboxOpened) { - conversation.fetchMessages(); + conversation.trigger('newmessages'); extension.windows.drawAttention(inboxWindowId); } else if (Whisper.Notifications.isEnabled()) { var sender = ConversationController.create({id: message.get('source')}); diff --git a/js/views/conversation_view.js b/js/views/conversation_view.js index 78454a323a4..07a7add49d7 100644 --- a/js/views/conversation_view.js +++ b/js/views/conversation_view.js @@ -23,6 +23,7 @@ initialize: function(options) { this.listenTo(this.model, 'destroy', this.stopListening); this.listenTo(this.model, 'change:name', this.updateTitle); + this.listenTo(this.model, 'newmessages', this.fetchMessages); this.render(); @@ -79,6 +80,9 @@ 'select .entry': 'messageDetail', 'force-resize': 'forceUpdateMessageFieldSize' }, + fetchMessages: function() { + this.model.fetchMessages(); + }, viewMembers: function() { var view = new Whisper.GroupMemberList({ model: this.model });