Unfurl notifications

Since we no longer have support for list-style notifications, stop
coalescing notifications into batches and just show contents of the last
message received. Also open the window when clicking on a notification
if it has previously been closed.

// FREEBIE
This commit is contained in:
lilia 2017-04-27 18:21:52 -07:00 committed by Scott Nonnenberg
parent b5649a6874
commit 79872be9f5
No known key found for this signature in database
GPG key ID: A4931C09644C654B
2 changed files with 22 additions and 54 deletions

View file

@ -98,6 +98,7 @@
});
Whisper.Notifications.on('click', function(conversation) {
showWindow();
if (conversation) {
appView.openConversation(conversation);
} else {

View file

@ -16,7 +16,7 @@
Whisper.Notifications = new (Backbone.Collection.extend({
initialize: function() {
this.on('add', _.debounce(this.update.bind(this), 1000));
this.on('add', this.update);
this.on('remove', this.onRemove);
},
onclick: function() {
@ -59,39 +59,7 @@
return;
}
if (this.length > 1) {
var conversationIds = _.uniq(this.map(function(m) {
return m.get('conversationId');
}));
if (conversationIds.length === 1 && this.showSender()) {
iconUrl = this.at(0).get('iconUrl');
}
extension.notification.update({
type : 'list',
iconUrl : iconUrl,
title : title,
message : 'Most recent from ' + this.last().get('title'),
items : this.map(function(m) {
var message, title;
if (this.showMessage()) {
return {
title : m.get('title'),
message : m.get('message')
};
} else if (this.showSender()) {
return {
title : m.get('title'),
message : i18n('newMessage')
};
}
}.bind(this)),
buttons : [{
title : 'Mark all as read',
iconUrl : 'images/check.svg'
}]
});
} else {
var m = this.at(0);
var m = this.last();
var type = 'basic';
var message = i18n('newMessage');
var imageUrl;
@ -113,7 +81,6 @@
iconUrl : iconUrl,
imageUrl : imageUrl
});
}
},
getSetting: function() {
return storage.get('notification-setting') || 'message';