binwiederhier 2 лет назад
Родитель
Сommit
4dc89f6bc5
2 измененных файлов с 7 добавлено и 12 удалено
  1. 4 6
      web/src/app/Notifier.js
  2. 3 6
      web/src/app/SubscriptionManager.js

+ 4 - 6
web/src/app/Notifier.js

@@ -48,7 +48,7 @@ class Notifier {
     }
   }
 
-  async getBrowserSubscription() {
+  async webPushSubscription() {
     if (!this.pushPossible()) {
       throw new Error("Unsupported or denied");
     }
@@ -58,11 +58,9 @@ class Notifier {
       return existingSubscription;
     }
 
-    // Create a new subscription only if web push is enabled.
-    // It is possible that web push was previously enabled and then disabled again
-    // in which case there would be an existingSubscription.
-    // but if it was _not_ enabled previously, we reach here, and only create a new
-    // subscription if it is now enabled.
+    // Create a new subscription only if Web Push is enabled. It is possible that Web Push
+    // was previously enabled and then disabled again in which case there would be an existingSubscription.
+    // If, however, it was _not_ enabled previously, we create a new subscription if it is now enabled.
 
     if (await this.pushEnabled()) {
       return pushManager.subscribe({

+ 3 - 6
web/src/app/SubscriptionManager.js

@@ -35,9 +35,7 @@ class SubscriptionManager {
       return [];
     }
     const subscriptions = await this.db.subscriptions.where({ baseUrl: config.base_url, mutedUntil: 0 }).toArray();
-    return subscriptions
-      .filter(({ internal }) => !internal)
-      .map(({ topic }) => topic);
+    return subscriptions.filter(({ internal }) => !internal).map(({ topic }) => topic);
   }
 
   async get(subscriptionId) {
@@ -46,8 +44,7 @@ class SubscriptionManager {
 
   async notify(subscriptionId, notification, defaultClickAction) {
     const subscription = await this.get(subscriptionId);
-
-    if (subscription.mutedUntil === 1) {
+    if (subscription.mutedUntil > 0) {
       return;
     }
 
@@ -120,7 +117,7 @@ class SubscriptionManager {
 
   async updateWebPushSubscriptions(presetTopics) {
     const topics = presetTopics ?? (await this.webPushTopics());
-    const browserSubscription = await notifier.getBrowserSubscription();
+    const browserSubscription = await notifier.webPushSubscription();
 
     if (!browserSubscription) {
       console.log("[SubscriptionManager] No browser subscription currently exists, so web push was never enabled. Skipping.");