From 718898c5a1cb599e5e3cf4995617a540b310dc44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs?= Date: Thu, 13 Aug 2020 12:42:25 -0500 Subject: Actually remove stale filters --- js/assets.js | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ js/background.js | 1 + js/start.js | 1 + 3 files changed, 52 insertions(+) diff --git a/js/assets.js b/js/assets.js index 484c4ef..84419d2 100644 --- a/js/assets.js +++ b/js/assets.js @@ -999,6 +999,56 @@ } }; + api.checkVersion = function () { + let cache; + + let onSourceReady = function (registry) { + let source = JSON.parse(JSON.stringify(registry)); + let version = ηMatrix.userSettings.assetVersion; + + if (!version) { + ηMatrix.userSettings.assetVersion = 1; + version = 1; + } + + if (!source["assets.json"].version + || version > source["assets.json"].version) { + for (let key in source) { + switch (key) { + case "hphosts": + case "malware-0": + case "malware-1": + delete source[key]; + api.remove(key, function () {}); + break; + default: + break; + } + + source["assets.json"].version = version; + } + + let createRegistry = function () { + api.fetchText + (ηMatrix.assetsBootstrapLocation || 'assets/assets.json', + function (details) { + updateSourceRegistry(details.content, true); + }); + }; + + createRegistry(); + } + }; + + let onCacheReady = function (registry) { + cache = JSON.parse(JSON.stringify(registry)); + + getSourceRegistry(onSourceReady); + }; + + getCacheRegistry(onCacheReady); + }; + return api; })(); diff --git a/js/background.js b/js/background.js index 842900a..889decd 100644 --- a/js/background.js +++ b/js/background.js @@ -175,6 +175,7 @@ var ηMatrix = (function () { processReferer: false, disableUpdateIcon: false, resolveCname: false, + assetsVersion: 1, }, rawSettingsDefault: rawSettingsDefault, diff --git a/js/start.js b/js/start.js index a830425..b0f3970 100644 --- a/js/start.js +++ b/js/start.js @@ -44,6 +44,7 @@ let onAllDone = function () { ηm.webRequest.start(); + ηm.assets.checkVersion(); ηm.assets.addObserver(ηm.assetObserver.bind(ηm)); ηm.scheduleAssetUpdater(ηm.userSettings.autoUpdate ? 7 * 60 * 1000 : 0); -- cgit v1.2.3