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);
}
async function unsubscribeWebPush() {
}
const addWebPushSubscriptionsToChats = _.debounce(() => {
const arr = Object.values(webPushSubscriptions);
Object.values(chats).forEach(chat => {
@ -200,4 +196,4 @@ function init() {
$('#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();
if (reg) {
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-create-account').click(showCreateAccount);