diff --git a/client/scripts/ui.js b/client/scripts/ui.js index f54be6a..af853e2 100644 --- a/client/scripts/ui.js +++ b/client/scripts/ui.js @@ -361,19 +361,26 @@ class Notifications { }); } - _notify(message, body) { + _notify(message, body, closeTimeout = 10000) { const config = { body: body, icon: '/images/logo_transparent_128x128.png', } + let notification; try { - return new Notification(message, config); + notification = new Notification(message, config); } catch (e) { - // android doesn't support "new Notification" if service worker is installed + // Android doesn't support "new Notification" if service worker is installed if (!serviceWorker || !serviceWorker.showNotification) return; - return serviceWorker.showNotification(message, config); + notification = serviceWorker.showNotification(message, config); } + // Notification is persistent on Android. We have to close it manually + if(closeTimeout){ + setTimeout( _ => notification.close(), closeTimeout); + } + + return notification; } _messageNotification(message) { diff --git a/client/service-worker.js b/client/service-worker.js index 4a0dd9e..b90ece0 100644 --- a/client/service-worker.js +++ b/client/service-worker.js @@ -1,4 +1,4 @@ -var CACHE_NAME = 'snapdrop-cache-v1.01'; +var CACHE_NAME = 'snapdrop-cache-v1.02'; var urlsToCache = [ '/', '/styles.css',