From ad29a9dc7143c41998fd2041b381a1a24b8ac6c8 Mon Sep 17 00:00:00 2001 From: mic Date: Thu, 6 Mar 2025 21:07:26 +0100 Subject: [PATCH] Add listener for removed permissions to update menu items. see #286 --- mzta-background.js | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/mzta-background.js b/mzta-background.js index 85363e87..1d3be5d2 100644 --- a/mzta-background.js +++ b/mzta-background.js @@ -646,6 +646,26 @@ function setupStorageChangeListener() { // Call the function to set up the listener setupStorageChangeListener(); +// Register the listener for removed permissions +function setupPermissionsRemovedListener() { + browser.permissions.onRemoved.addListener((permissions) => { + // console.log(">>>>>>>>>>> Permissions onRemoved permissions: " + JSON.stringify(permissions)); + // Process 'tags' permissions removal + if (["messagesTagsList", "messagesTags", "messagesUpdate"].some(permission => permissions.permissions.includes(permission))) { + // console.log(">>>>>>>>>>> Permissions onRemoved: tags"); + browser.storage.sync.set({add_tags: false}); + } + // Process 'spamfilter' permissions removal + if (permissions.permissions.includes("messagesMove")) { + // console.log(">>>>>>>>>>> Permissions onRemoved: spamfilter"); + browser.storage.sync.set({spamfilter: false}); + } + }); +} + +// Call the function to set up the listener +setupPermissionsRemovedListener(); + // Menus handling const menus = new mzta_Menus(openChatGPT, prefs_init.do_debug); menus.loadMenus(special_prompts_ids); @@ -796,8 +816,6 @@ const newEmailListener = (folder, messagesList) => { return _newEmailListener(); } -// browser.messages.onNewMailReceived.addListener(newEmailListener, !prefs_init.add_tags_auto_only_inbox); - try { browser.messages.onNewMailReceived.addListener(newEmailListener, !prefs_init.add_tags_auto_only_inbox); } catch (e) {