Improved pushes in Chrome

This commit is contained in:
Igor Zhukov 2017-05-11 20:16:40 +03:00
parent c9723f5723
commit f4fe5941f7
2 changed files with 19 additions and 23 deletions

View File

@ -803,7 +803,7 @@ angular.module('izhukov.mtproto.wrapper', ['izhukov.utils', 'izhukov.mtproto'])
var newInstance = {id: instanceID, idle: idle, time: time}
Storage.get('xt_instance').then(function (curInstance) {
console.log(dT(), 'check instance', newInstance, curInstance)
// console.log(dT(), 'check instance', newInstance, curInstance)
if (!idle ||
!curInstance ||
curInstance.id == instanceID ||

View File

@ -21,32 +21,28 @@ self.addEventListener('push', function(event) {
var hasActiveWindows = false
var checksPromise = new Promise(function (resolve, reject) {
if (!obj.badge) {
return reject()
}
var nowTime = +(new Date())
Promise.all([getMuteUntil(), getLastAliveTime()]).then(function (result) {
var muteUntil = result[0]
var lastAliveTime = result[1]
if (userInvisibleIsSupported() &&
muteUntil &&
nowTime < muteUntil) {
console.log('Supress notification because mute for ', Math.ceil((muteUntil - nowTime) / 60000), 'min')
return reject()
}
if (lastAliveTime &&
nowTime - lastAliveTime < 60000) {
return clients.matchAll({type: 'window'}).then(function(clientList) {
console.log('matched clients', clientList)
hasActiveWindows = clientList.length > 0
if (hasActiveWindows) {
console.log('Supress notification because some instance is alive')
return reject()
}
return resolve()
})
}
return resolve()
return clients.matchAll({type: 'window'}).then(function(clientList) {
console.log('matched clients', clientList)
hasActiveWindows = clientList.length > 0
if (hasActiveWindows) {
console.log('Supress notification because some instance is alive')
return reject()
}
if (userInvisibleIsSupported() &&
muteUntil &&
nowTime < muteUntil) {
console.log('Supress notification because mute for ', Math.ceil((muteUntil - nowTime) / 60000), 'min')
return reject()
}
if (!obj.badge) {
return reject()
}
return resolve()
})
})
})