diff --git a/src/subscriptions.js b/src/subscriptions.js index 11e760c2f8d7f8acec40f909069cbd043bdcf4b4..bdf5765ef13c9ee6096eb0812798283a22176af5 100644 --- a/src/subscriptions.js +++ b/src/subscriptions.js @@ -51,7 +51,15 @@ export default class Subscriptions { while (this.registration === undefined) await nextTick(); if (!this.registration || !this.registration.pushManager) return null; try { - if ((await this.registration.pushManager.permissionState()) !== "granted") return null; + const convertedVapidKey = urlBase64ToUint8Array(this.vapidPublicKey); + + if ( + (await this.registration.pushManager.permissionState({ + userVisibleOnly: true, + applicationServerKey: convertedVapidKey + })) !== "granted" + ) + return null; } catch (e) { return null; // Chrome can throw here complaining about userVisible if push is not right }