diff --git a/CHANGELOG.md b/CHANGELOG.md
index e8ffb353d..352f05582 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,9 @@
### v1.14.5
+**v1.14.5.12** *(2019-01-28)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.5.12/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.5.12/builds/4chan-X-noupdate.crx)]
+- Recover as well as possible from data corruption caused by ad filter interaction with Tampermonkey. #2218
+
**v1.14.5.11** *(2019-01-26)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.5.11/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.5.11/builds/4chan-X-noupdate.crx)]
- Fix regression that broke favicon turning red on thread archival/404. #2190
- Fix 'Auto Watch Reply' in corner cases when not all thread info is available.
diff --git a/builds/4chan-X-beta.crx b/builds/4chan-X-beta.crx
index 612fef1b3..d3aeec993 100644
Binary files a/builds/4chan-X-beta.crx and b/builds/4chan-X-beta.crx differ
diff --git a/builds/4chan-X-beta.meta.js b/builds/4chan-X-beta.meta.js
index 2778ef275..3cf053f62 100644
--- a/builds/4chan-X-beta.meta.js
+++ b/builds/4chan-X-beta.meta.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X beta
-// @version 1.14.5.11
+// @version 1.14.5.12
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
diff --git a/builds/4chan-X-beta.user.js b/builds/4chan-X-beta.user.js
index a02dd469f..21654f7be 100644
--- a/builds/4chan-X-beta.user.js
+++ b/builds/4chan-X-beta.user.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X beta
-// @version 1.14.5.11
+// @version 1.14.5.12
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -198,7 +198,7 @@ docSet = function() {
};
g = {
- VERSION: '1.14.5.11',
+ VERSION: '1.14.5.12',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -5344,10 +5344,17 @@ $ = (function() {
return $.queueTask($.getSync, items, cb);
});
$.getSync = function(items, cb) {
- var key, val2;
+ var err, key, val2;
for (key in items) {
if ((val2 = $.getValue(g.NAMESPACE + key))) {
- items[key] = JSON.parse(val2);
+ try {
+ items[key] = JSON.parse(val2);
+ } catch (_error) {
+ err = _error;
+ if (!/^(?:undefined)*$/.test(val2)) {
+ throw err;
+ }
+ }
}
}
return cb(items);
diff --git a/builds/4chan-X-noupdate.crx b/builds/4chan-X-noupdate.crx
index 5434b9e32..8b8b536a9 100644
Binary files a/builds/4chan-X-noupdate.crx and b/builds/4chan-X-noupdate.crx differ
diff --git a/builds/4chan-X-noupdate.user.js b/builds/4chan-X-noupdate.user.js
index 3f5ba2ca4..9eebfeff0 100644
--- a/builds/4chan-X-noupdate.user.js
+++ b/builds/4chan-X-noupdate.user.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
-// @version 1.14.5.11
+// @version 1.14.5.12
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -198,7 +198,7 @@ docSet = function() {
};
g = {
- VERSION: '1.14.5.11',
+ VERSION: '1.14.5.12',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -5344,10 +5344,17 @@ $ = (function() {
return $.queueTask($.getSync, items, cb);
});
$.getSync = function(items, cb) {
- var key, val2;
+ var err, key, val2;
for (key in items) {
if ((val2 = $.getValue(g.NAMESPACE + key))) {
- items[key] = JSON.parse(val2);
+ try {
+ items[key] = JSON.parse(val2);
+ } catch (_error) {
+ err = _error;
+ if (!/^(?:undefined)*$/.test(val2)) {
+ throw err;
+ }
+ }
}
}
return cb(items);
diff --git a/builds/4chan-X.crx b/builds/4chan-X.crx
index 3a506bef4..ed96b3f93 100644
Binary files a/builds/4chan-X.crx and b/builds/4chan-X.crx differ
diff --git a/builds/4chan-X.meta.js b/builds/4chan-X.meta.js
index 0364b961a..e1a8736d7 100644
--- a/builds/4chan-X.meta.js
+++ b/builds/4chan-X.meta.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
-// @version 1.14.5.11
+// @version 1.14.5.12
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js
index 4a23afb98..53892fb86 100644
--- a/builds/4chan-X.user.js
+++ b/builds/4chan-X.user.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
-// @version 1.14.5.11
+// @version 1.14.5.12
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -198,7 +198,7 @@ docSet = function() {
};
g = {
- VERSION: '1.14.5.11',
+ VERSION: '1.14.5.12',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -5344,10 +5344,17 @@ $ = (function() {
return $.queueTask($.getSync, items, cb);
});
$.getSync = function(items, cb) {
- var key, val2;
+ var err, key, val2;
for (key in items) {
if ((val2 = $.getValue(g.NAMESPACE + key))) {
- items[key] = JSON.parse(val2);
+ try {
+ items[key] = JSON.parse(val2);
+ } catch (_error) {
+ err = _error;
+ if (!/^(?:undefined)*$/.test(val2)) {
+ throw err;
+ }
+ }
}
}
return cb(items);
diff --git a/builds/4chan-X.zip b/builds/4chan-X.zip
index 87e0ea2f7..4668c4404 100644
Binary files a/builds/4chan-X.zip and b/builds/4chan-X.zip differ
diff --git a/builds/updates-beta.json b/builds/updates-beta.json
index c5cf95c12..72ddea3a1 100644
--- a/builds/updates-beta.json
+++ b/builds/updates-beta.json
@@ -3,7 +3,7 @@
"4chan-x@4chan-x.net": {
"updates": [
{
- "version": "1.14.5.11",
+ "version": "1.14.5.12",
"update_link": "https://www.4chan-x.net/builds/4chan-X-beta.crx"
}
]
diff --git a/builds/updates-beta.xml b/builds/updates-beta.xml
index 801d41d54..1e0911580 100644
--- a/builds/updates-beta.xml
+++ b/builds/updates-beta.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/builds/updates.json b/builds/updates.json
index 6c7fb0091..6e99a6828 100644
--- a/builds/updates.json
+++ b/builds/updates.json
@@ -3,7 +3,7 @@
"4chan-x@4chan-x.net": {
"updates": [
{
- "version": "1.14.5.11",
+ "version": "1.14.5.12",
"update_link": "https://www.4chan-x.net/builds/4chan-X.crx"
}
]
diff --git a/builds/updates.xml b/builds/updates.xml
index eb5a68b9e..de84c5940 100644
--- a/builds/updates.xml
+++ b/builds/updates.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/version.json b/version.json
index 60a481365..f0f35f99e 100644
--- a/version.json
+++ b/version.json
@@ -1,4 +1,4 @@
{
- "version": "1.14.5.11",
- "date": "2019-01-26T07:46:43.086Z"
+ "version": "1.14.5.12",
+ "date": "2019-01-28T10:07:50.479Z"
}
\ No newline at end of file