From 6279d1219101d72f03e23686909c5ef1728dfd80 Mon Sep 17 00:00:00 2001 From: xsalon00 Date: May 03 2022 23:24:59 +0000 Subject: Fix JShelter config not loaded if onInstalled event don't fire i.e. when using permanent private mode Fix 'null' value in nbsWhitelist --- diff --git a/common/http_shield_common.js b/common/http_shield_common.js index d2c92b1..8f4c13e 100644 --- a/common/http_shield_common.js +++ b/common/http_shield_common.js @@ -72,7 +72,7 @@ var localIPV6DNSZones; /** * Associtive array of hosts, that are currently among trusted "do not blocked" hosts. */ -var doNotBlockHosts = new Object(); +var doNotBlockHosts = {}; /** * Associtive array of settings supported by this module. diff --git a/common/update.js b/common/update.js index 3f5a6ec..6c1f50a 100644 --- a/common/update.js +++ b/common/update.js @@ -363,7 +363,7 @@ function installUpdate() { }; } item.fpDetectionOn = true; - item.nbsWhitelist = item.whitelistedHosts; + item.nbsWhitelist = item.whitelistedHosts ? item.whitelistedHosts : {}; delete item.whitelistedHosts; item.nbsSettings = { notifications: 1 @@ -434,6 +434,10 @@ function installUpdate() { }); } browser.runtime.onInstalled.addListener(installUpdate); +// fallback - populate storage with valid data (if onInstalled won't fire) +browser.storage.sync.get(null).then((item) => { + checkAndSaveConfig(item); +}); async function checkAndSaveConfig(conf) { let checkSettingRange = (module, setting, range, defValue) => {