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" }