Improve notification contents
Include sensible descriptions of non-content messages. For group messages, display the sender's name and avatar rather than the group's.
This commit is contained in:
parent
43ec4099c9
commit
718f1a5e3d
2 changed files with 20 additions and 7 deletions
|
@ -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'));
|
||||
|
|
|
@ -50,16 +50,19 @@
|
|||
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(),
|
||||
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);
|
||||
};
|
||||
});
|
||||
});
|
||||
conversation.fetchMessages();
|
||||
} else {
|
||||
openConversation(message.get('conversationId'));
|
||||
|
|
Loading…
Reference in a new issue