diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7c064b384..b28b64f6f 100755
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,9 @@ Sometimes the changelog has notes (not comprehensive) acknowledging people's wor
### v1.11.16
+**v1.11.16.4** *(2015-11-14)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.16.4/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.16.4/builds/4chan-X-noupdate.crx "Chromium version")]
+- Report window fixes: Restore backspace to refresh, unhide audio captcha, change pass ad to complaint link, and add NCMEC link.
+
**v1.11.16.3** *(2015-11-14)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.16.3/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.16.3/builds/4chan-X-noupdate.crx "Chromium version")]
- Fix bug from v1.11.16.0 causing Quick Reply to stop working after an error.
diff --git a/builds/4chan-X-beta.crx b/builds/4chan-X-beta.crx
index 61e00f3fb..718359e11 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 a5ce4ae2b..d11071759 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.11.16.3
+// @version 1.11.16.4
// @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 00d78775f..62f9008f1 100644
--- a/builds/4chan-X-beta.user.js
+++ b/builds/4chan-X-beta.user.js
@@ -1,7 +1,7 @@
// Generated by CoffeeScript
// ==UserScript==
// @name 4chan X beta
-// @version 1.11.16.3
+// @version 1.11.16.4
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -433,7 +433,7 @@
doc = d.documentElement;
g = {
- VERSION: '1.11.16.3',
+ VERSION: '1.11.16.4',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -960,16 +960,12 @@
}
})();
- (function() {
- var err;
- try {
- localStorage.getItem('x');
- return $.hasStorage = true;
- } catch (_error) {
- err = _error;
- return $.hasStorage = false;
- }
- })();
+ try {
+ localStorage.getItem('x');
+ $.hasStorage = true;
+ } catch (_error) {
+ $.hasStorage = false;
+ }
$.item = function(key, val) {
var item;
@@ -16388,6 +16384,9 @@
Report = {
css: ":root:not(.js-enabled) #captchaContainerAlt {\n" +
" height: auto;\n" +
+"}\n" +
+"#captchaContainerAlt td:nth-child(2) {\n" +
+" display: table-cell !important;\n" +
"}",
init: function() {
var match;
@@ -16399,12 +16398,29 @@
return $.ready(this.ready);
},
ready: function() {
+ var link, passAd, prev, ref;
$.addStyle(Report.css);
if (Conf['Archive Report']) {
Report.archive();
}
+ link = $.el('a', {
+ href: 'https://report.cybertip.org/',
+ textContent: 'Report to NCMEC',
+ target: '_blank'
+ });
+ $.add(d.body, [$.tn(' ['), link, $.tn(']')]);
+ if ((passAd = $('a[href="https://www.4chan.org/pass"]'))) {
+ $.extend(passAd, {
+ textContent: 'Complain',
+ href: 'https://www.4chan-x.net/captchas.html'
+ });
+ passAd.parentNode.normalize();
+ if (((ref = (prev = passAd.previousSibling)) != null ? ref.nodeType : void 0) === Node.TEXT_NODE) {
+ prev.nodeValue = prev.nodeValue.replace(/4chan Pass[^\.]*\./i, 'reCAPTCHA malfunctioning?');
+ }
+ }
if (Conf['Use Recaptcha v2 in Reports'] && $.hasClass(doc, 'js-enabled')) {
- return new MutationObserver(function() {
+ new MutationObserver(function() {
Report.fit('iframe[src^="https://www.google.com/recaptcha/api2/frame"]');
return Report.fit('body');
}).observe(d.body, {
@@ -16413,7 +16429,30 @@
subtree: true
});
} else {
- return Report.fit('body');
+ Report.fit('body');
+ }
+ if (!Conf['Use Recaptcha v2 in Reports'] && $.hasClass(doc, 'js-enabled') && d.cookie.indexOf('pass_enabled=1') < 0) {
+ $.onExists(d.body, '#recaptcha_image', true, function(image) {
+ $.global(function() {
+ return document.getElementById('recaptcha_image').removeEventListener('click', window.onAltCaptchaClick, false);
+ });
+ return $.on(image, 'click', function() {
+ if ($.id('recaptcha_challenge_image')) {
+ return $.global(function() {
+ return window.Recaptcha.reload();
+ });
+ }
+ });
+ });
+ return $.onExists(d.body, '#recaptcha_response_field', true, function(field) {
+ return $.on(field, 'keydown', function(e) {
+ if (e.keyCode === 8 && !field.value) {
+ return $.global(function() {
+ return window.Recaptcha.reload();
+ });
+ }
+ });
+ });
}
},
fit: function(selector) {
diff --git a/builds/4chan-X-noupdate.crx b/builds/4chan-X-noupdate.crx
index e18717e44..92c2351ca 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 07c76df75..6df8fc88e 100644
--- a/builds/4chan-X-noupdate.user.js
+++ b/builds/4chan-X-noupdate.user.js
@@ -1,7 +1,7 @@
// Generated by CoffeeScript
// ==UserScript==
// @name 4chan X
-// @version 1.11.16.3
+// @version 1.11.16.4
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -433,7 +433,7 @@
doc = d.documentElement;
g = {
- VERSION: '1.11.16.3',
+ VERSION: '1.11.16.4',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -960,16 +960,12 @@
}
})();
- (function() {
- var err;
- try {
- localStorage.getItem('x');
- return $.hasStorage = true;
- } catch (_error) {
- err = _error;
- return $.hasStorage = false;
- }
- })();
+ try {
+ localStorage.getItem('x');
+ $.hasStorage = true;
+ } catch (_error) {
+ $.hasStorage = false;
+ }
$.item = function(key, val) {
var item;
@@ -16388,6 +16384,9 @@
Report = {
css: ":root:not(.js-enabled) #captchaContainerAlt {\n" +
" height: auto;\n" +
+"}\n" +
+"#captchaContainerAlt td:nth-child(2) {\n" +
+" display: table-cell !important;\n" +
"}",
init: function() {
var match;
@@ -16399,12 +16398,29 @@
return $.ready(this.ready);
},
ready: function() {
+ var link, passAd, prev, ref;
$.addStyle(Report.css);
if (Conf['Archive Report']) {
Report.archive();
}
+ link = $.el('a', {
+ href: 'https://report.cybertip.org/',
+ textContent: 'Report to NCMEC',
+ target: '_blank'
+ });
+ $.add(d.body, [$.tn(' ['), link, $.tn(']')]);
+ if ((passAd = $('a[href="https://www.4chan.org/pass"]'))) {
+ $.extend(passAd, {
+ textContent: 'Complain',
+ href: 'https://www.4chan-x.net/captchas.html'
+ });
+ passAd.parentNode.normalize();
+ if (((ref = (prev = passAd.previousSibling)) != null ? ref.nodeType : void 0) === Node.TEXT_NODE) {
+ prev.nodeValue = prev.nodeValue.replace(/4chan Pass[^\.]*\./i, 'reCAPTCHA malfunctioning?');
+ }
+ }
if (Conf['Use Recaptcha v2 in Reports'] && $.hasClass(doc, 'js-enabled')) {
- return new MutationObserver(function() {
+ new MutationObserver(function() {
Report.fit('iframe[src^="https://www.google.com/recaptcha/api2/frame"]');
return Report.fit('body');
}).observe(d.body, {
@@ -16413,7 +16429,30 @@
subtree: true
});
} else {
- return Report.fit('body');
+ Report.fit('body');
+ }
+ if (!Conf['Use Recaptcha v2 in Reports'] && $.hasClass(doc, 'js-enabled') && d.cookie.indexOf('pass_enabled=1') < 0) {
+ $.onExists(d.body, '#recaptcha_image', true, function(image) {
+ $.global(function() {
+ return document.getElementById('recaptcha_image').removeEventListener('click', window.onAltCaptchaClick, false);
+ });
+ return $.on(image, 'click', function() {
+ if ($.id('recaptcha_challenge_image')) {
+ return $.global(function() {
+ return window.Recaptcha.reload();
+ });
+ }
+ });
+ });
+ return $.onExists(d.body, '#recaptcha_response_field', true, function(field) {
+ return $.on(field, 'keydown', function(e) {
+ if (e.keyCode === 8 && !field.value) {
+ return $.global(function() {
+ return window.Recaptcha.reload();
+ });
+ }
+ });
+ });
}
},
fit: function(selector) {
diff --git a/builds/4chan-X.crx b/builds/4chan-X.crx
index 8caa88bdb..d58f5e9d2 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 c2420ff39..99e4ca3a1 100644
--- a/builds/4chan-X.meta.js
+++ b/builds/4chan-X.meta.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
-// @version 1.11.16.3
+// @version 1.11.16.4
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js
index 2c6d0682b..013b7ee60 100644
--- a/builds/4chan-X.user.js
+++ b/builds/4chan-X.user.js
@@ -1,7 +1,7 @@
// Generated by CoffeeScript
// ==UserScript==
// @name 4chan X
-// @version 1.11.16.3
+// @version 1.11.16.4
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -433,7 +433,7 @@
doc = d.documentElement;
g = {
- VERSION: '1.11.16.3',
+ VERSION: '1.11.16.4',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -960,16 +960,12 @@
}
})();
- (function() {
- var err;
- try {
- localStorage.getItem('x');
- return $.hasStorage = true;
- } catch (_error) {
- err = _error;
- return $.hasStorage = false;
- }
- })();
+ try {
+ localStorage.getItem('x');
+ $.hasStorage = true;
+ } catch (_error) {
+ $.hasStorage = false;
+ }
$.item = function(key, val) {
var item;
@@ -16388,6 +16384,9 @@
Report = {
css: ":root:not(.js-enabled) #captchaContainerAlt {\n" +
" height: auto;\n" +
+"}\n" +
+"#captchaContainerAlt td:nth-child(2) {\n" +
+" display: table-cell !important;\n" +
"}",
init: function() {
var match;
@@ -16399,12 +16398,29 @@
return $.ready(this.ready);
},
ready: function() {
+ var link, passAd, prev, ref;
$.addStyle(Report.css);
if (Conf['Archive Report']) {
Report.archive();
}
+ link = $.el('a', {
+ href: 'https://report.cybertip.org/',
+ textContent: 'Report to NCMEC',
+ target: '_blank'
+ });
+ $.add(d.body, [$.tn(' ['), link, $.tn(']')]);
+ if ((passAd = $('a[href="https://www.4chan.org/pass"]'))) {
+ $.extend(passAd, {
+ textContent: 'Complain',
+ href: 'https://www.4chan-x.net/captchas.html'
+ });
+ passAd.parentNode.normalize();
+ if (((ref = (prev = passAd.previousSibling)) != null ? ref.nodeType : void 0) === Node.TEXT_NODE) {
+ prev.nodeValue = prev.nodeValue.replace(/4chan Pass[^\.]*\./i, 'reCAPTCHA malfunctioning?');
+ }
+ }
if (Conf['Use Recaptcha v2 in Reports'] && $.hasClass(doc, 'js-enabled')) {
- return new MutationObserver(function() {
+ new MutationObserver(function() {
Report.fit('iframe[src^="https://www.google.com/recaptcha/api2/frame"]');
return Report.fit('body');
}).observe(d.body, {
@@ -16413,7 +16429,30 @@
subtree: true
});
} else {
- return Report.fit('body');
+ Report.fit('body');
+ }
+ if (!Conf['Use Recaptcha v2 in Reports'] && $.hasClass(doc, 'js-enabled') && d.cookie.indexOf('pass_enabled=1') < 0) {
+ $.onExists(d.body, '#recaptcha_image', true, function(image) {
+ $.global(function() {
+ return document.getElementById('recaptcha_image').removeEventListener('click', window.onAltCaptchaClick, false);
+ });
+ return $.on(image, 'click', function() {
+ if ($.id('recaptcha_challenge_image')) {
+ return $.global(function() {
+ return window.Recaptcha.reload();
+ });
+ }
+ });
+ });
+ return $.onExists(d.body, '#recaptcha_response_field', true, function(field) {
+ return $.on(field, 'keydown', function(e) {
+ if (e.keyCode === 8 && !field.value) {
+ return $.global(function() {
+ return window.Recaptcha.reload();
+ });
+ }
+ });
+ });
}
},
fit: function(selector) {
diff --git a/builds/4chan-X.zip b/builds/4chan-X.zip
index 5252335b2..d1d2d7d95 100644
Binary files a/builds/4chan-X.zip and b/builds/4chan-X.zip differ
diff --git a/builds/updates-beta.xml b/builds/updates-beta.xml
index f58407ed7..ef252ee6c 100644
--- a/builds/updates-beta.xml
+++ b/builds/updates-beta.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/builds/updates.xml b/builds/updates.xml
index b1a4b5d7c..cdf12ad97 100644
--- a/builds/updates.xml
+++ b/builds/updates.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/version.json b/version.json
index 13af1cdfe..e465d1dd5 100644
--- a/version.json
+++ b/version.json
@@ -1,4 +1,4 @@
{
- "version": "1.11.16.3",
- "date": "2015-11-14T09:01:12.620Z"
+ "version": "1.11.16.4",
+ "date": "2015-11-14T22:50:42.534Z"
}