From 127b343eabb129284eb195b3483b68630c543bee Mon Sep 17 00:00:00 2001 From: Greg Fodor <gfodor@gmail.com> Date: Wed, 31 Oct 2018 04:45:27 +0000 Subject: [PATCH] Handle vapid public get init --- src/hub.js | 5 ++++- src/subscriptions.js | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/hub.js b/src/hub.js index 384564031..84a0e496f 100644 --- a/src/hub.js +++ b/src/hub.js @@ -500,7 +500,10 @@ document.addEventListener("DOMContentLoaded", async () => { retPhxChannel .join() .receive("ok", async data => subscriptions.setVapidPublicKey(data.vapid_public_key)) - .receive("error", res => console.error(res)); + .receive("error", res => { + subscriptions.setVapidPublicKey(null); + console.error(res); + }); linkChannel.setSocket(socket); }); diff --git a/src/subscriptions.js b/src/subscriptions.js index bdf5765ef..a5d9fc8af 100644 --- a/src/subscriptions.js +++ b/src/subscriptions.js @@ -50,6 +50,10 @@ export default class Subscriptions { // registration becomes null if failed, non null if registered while (this.registration === undefined) await nextTick(); if (!this.registration || !this.registration.pushManager) return null; + + while (this.vapidPublicKey === undefined) await nextTick(); + if (this.vapidPublicKey === null) return null; + try { const convertedVapidKey = urlBase64ToUint8Array(this.vapidPublicKey); -- GitLab