diff options
author | Jesús <heckyel@hyperbola.info> | 2020-08-13 12:42:25 -0500 |
---|---|---|
committer | Jesús <heckyel@hyperbola.info> | 2020-08-13 12:42:25 -0500 |
commit | 718898c5a1cb599e5e3cf4995617a540b310dc44 (patch) | |
tree | 06ae09e3b30317ebccfef04573a74942c548a7cf | |
parent | feb70af6a0d0b1a357769a60e79608a2a60eb050 (diff) | |
download | ematrix-718898c5a1cb599e5e3cf4995617a540b310dc44.tar.lz ematrix-718898c5a1cb599e5e3cf4995617a540b310dc44.tar.xz ematrix-718898c5a1cb599e5e3cf4995617a540b310dc44.zip |
Actually remove stale filters
-rw-r--r-- | js/assets.js | 50 | ||||
-rw-r--r-- | js/background.js | 1 | ||||
-rw-r--r-- | js/start.js | 1 |
3 files changed, 52 insertions, 0 deletions
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); |