diff --git a/js/models/messages.js b/js/models/messages.js index b02212eb87..1d76cf36a5 100644 --- a/js/models/messages.js +++ b/js/models/messages.js @@ -43,6 +43,16 @@ isIncoming: function() { return this.get('type') === 'incoming'; }, + getDescription: function() { + if (this.isGroupUpdate()) { + return 'Updated the group'; + } + if (this.isEndSession()) { + return 'Secure session ended'; + } + + return this.get('body'); + }, getContact: function() { if (this.collection) { return this.collection.conversation.contactCollection.get(this.get('source')); diff --git a/js/panel_controller.js b/js/panel_controller.js index 2b732eb12a..0747db6a55 100644 --- a/js/panel_controller.js +++ b/js/panel_controller.js @@ -50,15 +50,18 @@ window.notifyConversation = function(message) { if (Whisper.Notifications.isEnabled()) { var conversation = getConversation({id: message.get('conversationId')}); + var sender = getConversation({id: message.get('source')}); conversation.fetch().then(function() { - var notification = new Notification(conversation.getTitle(), { - body: message.get('body'), - icon: conversation.getAvatarUrl(), - tag: conversation.id + sender.fetch().then(function() { + var notification = new Notification(sender.getTitle(), { + body: message.getDescription(), + icon: sender.getAvatarUrl(), + tag: conversation.id + }); + notification.onclick = function() { + openConversation(conversation.id); + }; }); - notification.onclick = function() { - openConversation(conversation.id); - }; }); conversation.fetchMessages(); } else {