mirror of
https://github.com/signalapp/Signal-Desktop.git
synced 2026-05-08 08:58:38 +01:00
Serialize notification updates
// FREEBIE
This commit is contained in:
+16
-5
@@ -180,9 +180,14 @@
|
||||
}
|
||||
};
|
||||
|
||||
var notification_pending = Promise.resolve();
|
||||
extension.notification = {
|
||||
clear: function() {
|
||||
chrome.notifications.clear('signal');
|
||||
notification_pending = notification_pending.then(function() {
|
||||
return new Promise(function(resolve) {
|
||||
chrome.notifications.clear('signal', resolve);
|
||||
});
|
||||
});
|
||||
},
|
||||
update: function(options) {
|
||||
if (chrome) {
|
||||
@@ -195,10 +200,16 @@
|
||||
items : options.items,
|
||||
buttons : options.buttons
|
||||
};
|
||||
chrome.notifications.update('signal', chromeOpts, function(wasUpdated) {
|
||||
if (!wasUpdated) {
|
||||
chrome.notifications.create('signal', chromeOpts);
|
||||
}
|
||||
notification_pending = notification_pending.then(function() {
|
||||
return new Promise(function(resolve) {
|
||||
chrome.notifications.update('signal', chromeOpts, function(wasUpdated) {
|
||||
if (!wasUpdated) {
|
||||
chrome.notifications.create('signal', chromeOpts, resolve);
|
||||
} else {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
} else {
|
||||
var notification = new Notification(options.title, {
|
||||
|
||||
Reference in New Issue
Block a user