aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/notifications.js9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/notifications.js b/lib/notifications.js
index 710a5bfe..b1c4b05f 100644
--- a/lib/notifications.js
+++ b/lib/notifications.js
@@ -12,11 +12,16 @@ notify = (user, payload) => {
let { subscriptions } = user;
if (subscriptions) {
- subscriptions.map(async subscription => {
+ subscriptions.map(async (subscription, i) => {
try {
await webpush.sendNotification(subscription, payload);
} catch (e) {
- l.error("problem sending notification", e);
+ if (e.body && e.body.includes('expired')) {
+ user.subscriptions.splice(i, 1);
+ await user.save();
+ } else {
+ l.error("problem sending notification", e);
+ }
}
});
}