aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesús <heckyel@hyperbola.info>2020-08-13 12:42:25 -0500
committerJesús <heckyel@hyperbola.info>2020-08-13 12:42:25 -0500
commit718898c5a1cb599e5e3cf4995617a540b310dc44 (patch)
tree06ae09e3b30317ebccfef04573a74942c548a7cf
parentfeb70af6a0d0b1a357769a60e79608a2a60eb050 (diff)
downloadematrix-718898c5a1cb599e5e3cf4995617a540b310dc44.tar.lz
ematrix-718898c5a1cb599e5e3cf4995617a540b310dc44.tar.xz
ematrix-718898c5a1cb599e5e3cf4995617a540b310dc44.zip
Actually remove stale filters
-rw-r--r--js/assets.js50
-rw-r--r--js/background.js1
-rw-r--r--js/start.js1
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);