Browse Source

Improved push notifications for Chrome

master
Igor Zhukov 8 years ago
parent
commit
db5315d7e4
  1. 10
      app/js/lib/push_worker.js
  2. 12
      app/js/services.js
  3. 2
      app/service_worker.js

10
app/js/lib/push_worker.js

@ -60,13 +60,15 @@ self.addEventListener('push', function(event) {
}) })
var closePromise = notificationPromise.catch(function () { var closePromise = notificationPromise.catch(function () {
console.log('[SW] Closing all notifications on push') console.log('[SW] Closing all notifications on push', hasActiveWindows)
if (userInvisibleSupported || hasActiveWindows) { if (userInvisibleSupported) {
return closeAllNotifications() return closeAllNotifications()
} }
var promise = self.registration.showNotification('Telegram').then(function () { var promise = self.registration.showNotification('Telegram').then(function () {
// return closeAllNotifications() // if (hasActiveWindows) {
setTimeout(closeAllNotifications, 100) // return closeAllNotifications()
// }
setTimeout(closeAllNotifications, hasActiveWindows ? 0 : 100)
}).catch(function (error) { }).catch(function (error) {
console.error('Show notification error', error) console.error('Show notification error', error)
}) })

12
app/js/services.js

@ -3627,11 +3627,13 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils'])
$rootScope.$on('push_notification_click', function (e, notificationData) { $rootScope.$on('push_notification_click', function (e, notificationData) {
if (notificationData.action == 'push_settings') { if (notificationData.action == 'push_settings') {
$modal.open({ topMessagesPromise.then(function () {
templateUrl: templateUrl('settings_modal'), $modal.open({
controller: 'SettingsModalController', templateUrl: templateUrl('settings_modal'),
windowClass: 'settings_modal_window mobile_modal', controller: 'SettingsModalController',
backdrop: 'single' windowClass: 'settings_modal_window mobile_modal',
backdrop: 'single'
})
}) })
return return
} }

2
app/service_worker.js

@ -1,3 +1,3 @@
importScripts('js/lib/push_worker.js') importScripts('js/lib/push_worker.js')
// Version 50 // Version 53
Loading…
Cancel
Save