remove web push subscription on logout

This commit is contained in:
Martti Malmi 2020-07-09 13:21:02 +03:00
parent 23faf7ce7c
commit 05959d026d
2 changed files with 6 additions and 6 deletions

View File

@ -128,10 +128,6 @@ async function subscribeToWebPush() {
sub ? addWebPushSubscription(sub) : subscribe(reg); sub ? addWebPushSubscription(sub) : subscribe(reg);
} }
async function unsubscribeWebPush() {
}
const addWebPushSubscriptionsToChats = _.debounce(() => { const addWebPushSubscriptionsToChats = _.debounce(() => {
const arr = Object.values(webPushSubscriptions); const arr = Object.values(webPushSubscriptions);
Object.values(chats).forEach(chat => { Object.values(chats).forEach(chat => {
@ -200,4 +196,4 @@ function init() {
$('#enable-notifications-prompt').click(enableDesktopNotifications); $('#enable-notifications-prompt').click(enableDesktopNotifications);
} }
export default {init, notifyMsg, changeChatUnseenCount, webPushSubscriptions, subscribeToWebPush, getWebPushSubscriptions}; export default {init, notifyMsg, changeChatUnseenCount, webPushSubscriptions, subscribeToWebPush, getWebPushSubscriptions, removeSubscription};

View File

@ -223,8 +223,12 @@ function init() {
const reg = await navigator.serviceWorker.getRegistration(); const reg = await navigator.serviceWorker.getRegistration();
if (reg) { if (reg) {
reg.active.postMessage({key: null}); reg.active.postMessage({key: null});
const sub = await reg.pushManager.getSubscription();
const hash = await iris.util.getHash(JSON.stringify(sub));
Notifications.removeSubscription(hash);
sub.unsubscribe && sub.unsubscribe();
} }
location.reload(); // ensure that everything is reset (especially on the gun side). TODO: without reload _.defer(() => location.reload());
}); });
$('#show-existing-account-login').click(showSwitchAccount); $('#show-existing-account-login').click(showSwitchAccount);
$('#show-create-account').click(showCreateAccount); $('#show-create-account').click(showCreateAccount);