snapdrop

A Progressive Web App for local file sharing
git clone http://git.hanabi.in/repos/snapdrop.git
Log | Files | Refs | README | LICENSE

commit 82de30525be720083020c53a676f79e5f49c6d55
parent 819697d697f956667ebb764bae645f67f2ba3d90
Author: RobinLinus <robinlinus@users.noreply.github.com>
Date:   Wed, 13 Mar 2019 00:08:37 +0100

Add Timeout to automatically close Notifications

Diffstat:
Mclient/scripts/ui.js | 15+++++++++++----
Mclient/service-worker.js | 2+-
2 files changed, 12 insertions(+), 5 deletions(-)

diff --git 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 @@ -1,4 +1,4 @@ -var CACHE_NAME = 'snapdrop-cache-v1.01'; +var CACHE_NAME = 'snapdrop-cache-v1.02'; var urlsToCache = [ '/', '/styles.css',