diff --git a/CHANGELOG.md b/CHANGELOG.md
index b25e9b83c..df85ba57a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,9 @@
### v1.13.9
+**v1.13.9.1** *(2017-04-23)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.13.9.1/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.13.9.1/builds/4chan-X-noupdate.crx)]
+- Fix captcha cleanup. #1341
+
**v1.13.9.0** *(2017-04-16)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.13.9.0/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.13.9.0/builds/4chan-X-noupdate.crx)]
- Based on v1.13.8.5.
- Restore support for noscript fallback version of Recaptcha v1. Can be activated through new `Force Noscript Captcha for v1` option. Only working on HTTPS currently. If used, this will validate captchas before posting.
diff --git a/builds/4chan-X-beta.crx b/builds/4chan-X-beta.crx
index 411bfddef..d86f14740 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 5ddd1d52a..b853175ea 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.13.9.0
+// @version 1.13.9.1
// @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 0f70afaea..31aa07277 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.13.9.0
+// @version 1.13.9.1
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -153,7 +153,7 @@ docSet = function() {
};
g = {
- VERSION: '1.13.9.0',
+ VERSION: '1.13.9.1',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -6918,7 +6918,7 @@ Redirect = (function() {
archives: [
{ "uid": 3, "name": "4plebs", "domain": "archive.4plebs.org", "http": true, "https": true, "software": "foolfuuka", "boards": [ "adv", "f", "hr", "mlpol", "mo", "o", "pol", "s4s", "sp", "tg", "trv", "tv", "x" ], "files": [ "adv", "f", "hr", "mlpol", "mo", "o", "pol", "s4s", "sp", "tg", "trv", "tv", "x" ], "reports": true },
{ "uid": 4, "name": "Nyafuu Archive", "domain": "archive.nyafuu.org", "http": false, "https": true, "software": "foolfuuka", "boards": [ "c", "e", "n", "news", "out", "p", "toy", "vip", "vp", "w", "wg", "wsr" ], "files": [ "c", "e", "n", "news", "out", "p", "toy", "vip", "vp", "w", "wg", "wsr" ], "reports": true },
- { "uid": 8, "name": "Rebecca Black Tech", "domain": "archive.rebeccablacktech.com", "http": false, "https": true, "software": "foolfuuka", "boards": [ "cgl", "g", "mu" ], "files": [ "cgl", "g", "mu" ] },
+ { "uid": 8, "name": "Rebecca Black Tech", "domain": "archive.rebeccablacktech.com", "http": false, "https": true, "software": "foolfuuka", "boards": [ "cgl", "g", "mu" ], "files": [ "cgl", "g", "mu" ], "reports": true },
{ "uid": 10, "name": "warosu", "domain": "warosu.org", "http": false, "https": true, "software": "fuuka", "boards": [ "3", "biz", "cgl", "ck", "diy", "fa", "g", "ic", "jp", "lit", "sci", "tg", "vr" ], "files": [ "3", "biz", "cgl", "ck", "diy", "fa", "g", "ic", "jp", "lit", "sci", "tg", "vr" ] },
{ "uid": 23, "name": "Desuarchive", "domain": "desuarchive.org", "http": true, "https": true, "software": "foolfuuka", "boards": [ "a", "aco", "an", "c", "co", "d", "fit", "gif", "his", "int", "k", "m", "mlp", "qa", "r9k", "tg", "trash", "vr", "wsg" ], "files": [ "a", "aco", "an", "c", "co", "d", "fit", "gif", "his", "int", "k", "m", "mlp", "qa", "r9k", "tg", "trash", "vr", "wsg" ], "reports": true },
{ "uid": 24, "name": "fireden.net", "domain": "boards.fireden.net", "http": false, "https": true, "software": "foolfuuka", "boards": [ "a", "cm", "ic", "sci", "tg", "v", "vg", "y" ], "files": [ "a", "cm", "ic", "sci", "tg", "v", "vg", "y" ] },
@@ -20795,12 +20795,12 @@ Captcha = {};
});
},
afterSetup: function(mutations) {
- var iframe, j, k, len, len1, mutation, node, ref, textarea;
- for (j = 0, len = mutations.length; j < len; j++) {
- mutation = mutations[j];
+ var i, iframe, j, len, len1, mutation, node, ref, textarea;
+ for (i = 0, len = mutations.length; i < len; i++) {
+ mutation = mutations[i];
ref = mutation.addedNodes;
- for (k = 0, len1 = ref.length; k < len1; k++) {
- node = ref[k];
+ for (j = 0, len1 = ref.length; j < len1; j++) {
+ node = ref[j];
if ((iframe = $.x('./descendant-or-self::iframe', node))) {
this.setupIFrame(iframe);
}
@@ -20842,23 +20842,19 @@ Captcha = {};
})(this));
},
destroy: function() {
- var garbage, i, ins, node, ref;
if (!this.isEnabled) {
return;
}
delete this.timeouts.destroy;
$.rmClass(QR.nodes.el, 'captcha-open');
if (this.nodes.container) {
+ $.global(function() {
+ var container;
+ container = document.querySelector('#qr .captcha-container');
+ return window.grecaptcha.reset(container.dataset.widgetID);
+ });
$.rm(this.nodes.container);
- }
- delete this.nodes.container;
- garbage = $.X('//iframe[starts-with(@src, "https://www.google.com/recaptcha/api2/frame")]/ancestor-or-self::*[parent::body]');
- i = 0;
- while (node = garbage.snapshotItem(i++)) {
- if (((ref = (ins = node.nextSibling)) != null ? ref.nodeName : void 0) === 'INS') {
- $.rm(ins);
- }
- $.rm(node);
+ return delete this.nodes.container;
}
},
getOne: function(isReply) {
diff --git a/builds/4chan-X-noupdate.crx b/builds/4chan-X-noupdate.crx
index e3b58ddf2..e174de1f8 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 b38e2ce04..7e6c12f75 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.13.9.0
+// @version 1.13.9.1
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -153,7 +153,7 @@ docSet = function() {
};
g = {
- VERSION: '1.13.9.0',
+ VERSION: '1.13.9.1',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -6918,7 +6918,7 @@ Redirect = (function() {
archives: [
{ "uid": 3, "name": "4plebs", "domain": "archive.4plebs.org", "http": true, "https": true, "software": "foolfuuka", "boards": [ "adv", "f", "hr", "mlpol", "mo", "o", "pol", "s4s", "sp", "tg", "trv", "tv", "x" ], "files": [ "adv", "f", "hr", "mlpol", "mo", "o", "pol", "s4s", "sp", "tg", "trv", "tv", "x" ], "reports": true },
{ "uid": 4, "name": "Nyafuu Archive", "domain": "archive.nyafuu.org", "http": false, "https": true, "software": "foolfuuka", "boards": [ "c", "e", "n", "news", "out", "p", "toy", "vip", "vp", "w", "wg", "wsr" ], "files": [ "c", "e", "n", "news", "out", "p", "toy", "vip", "vp", "w", "wg", "wsr" ], "reports": true },
- { "uid": 8, "name": "Rebecca Black Tech", "domain": "archive.rebeccablacktech.com", "http": false, "https": true, "software": "foolfuuka", "boards": [ "cgl", "g", "mu" ], "files": [ "cgl", "g", "mu" ] },
+ { "uid": 8, "name": "Rebecca Black Tech", "domain": "archive.rebeccablacktech.com", "http": false, "https": true, "software": "foolfuuka", "boards": [ "cgl", "g", "mu" ], "files": [ "cgl", "g", "mu" ], "reports": true },
{ "uid": 10, "name": "warosu", "domain": "warosu.org", "http": false, "https": true, "software": "fuuka", "boards": [ "3", "biz", "cgl", "ck", "diy", "fa", "g", "ic", "jp", "lit", "sci", "tg", "vr" ], "files": [ "3", "biz", "cgl", "ck", "diy", "fa", "g", "ic", "jp", "lit", "sci", "tg", "vr" ] },
{ "uid": 23, "name": "Desuarchive", "domain": "desuarchive.org", "http": true, "https": true, "software": "foolfuuka", "boards": [ "a", "aco", "an", "c", "co", "d", "fit", "gif", "his", "int", "k", "m", "mlp", "qa", "r9k", "tg", "trash", "vr", "wsg" ], "files": [ "a", "aco", "an", "c", "co", "d", "fit", "gif", "his", "int", "k", "m", "mlp", "qa", "r9k", "tg", "trash", "vr", "wsg" ], "reports": true },
{ "uid": 24, "name": "fireden.net", "domain": "boards.fireden.net", "http": false, "https": true, "software": "foolfuuka", "boards": [ "a", "cm", "ic", "sci", "tg", "v", "vg", "y" ], "files": [ "a", "cm", "ic", "sci", "tg", "v", "vg", "y" ] },
@@ -20795,12 +20795,12 @@ Captcha = {};
});
},
afterSetup: function(mutations) {
- var iframe, j, k, len, len1, mutation, node, ref, textarea;
- for (j = 0, len = mutations.length; j < len; j++) {
- mutation = mutations[j];
+ var i, iframe, j, len, len1, mutation, node, ref, textarea;
+ for (i = 0, len = mutations.length; i < len; i++) {
+ mutation = mutations[i];
ref = mutation.addedNodes;
- for (k = 0, len1 = ref.length; k < len1; k++) {
- node = ref[k];
+ for (j = 0, len1 = ref.length; j < len1; j++) {
+ node = ref[j];
if ((iframe = $.x('./descendant-or-self::iframe', node))) {
this.setupIFrame(iframe);
}
@@ -20842,23 +20842,19 @@ Captcha = {};
})(this));
},
destroy: function() {
- var garbage, i, ins, node, ref;
if (!this.isEnabled) {
return;
}
delete this.timeouts.destroy;
$.rmClass(QR.nodes.el, 'captcha-open');
if (this.nodes.container) {
+ $.global(function() {
+ var container;
+ container = document.querySelector('#qr .captcha-container');
+ return window.grecaptcha.reset(container.dataset.widgetID);
+ });
$.rm(this.nodes.container);
- }
- delete this.nodes.container;
- garbage = $.X('//iframe[starts-with(@src, "https://www.google.com/recaptcha/api2/frame")]/ancestor-or-self::*[parent::body]');
- i = 0;
- while (node = garbage.snapshotItem(i++)) {
- if (((ref = (ins = node.nextSibling)) != null ? ref.nodeName : void 0) === 'INS') {
- $.rm(ins);
- }
- $.rm(node);
+ return delete this.nodes.container;
}
},
getOne: function(isReply) {
diff --git a/builds/4chan-X.crx b/builds/4chan-X.crx
index 35c5b3404..6711decd4 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 824538e9c..9d221aab2 100644
--- a/builds/4chan-X.meta.js
+++ b/builds/4chan-X.meta.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
-// @version 1.13.9.0
+// @version 1.13.9.1
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js
index 1f3ed3c8b..b5698651c 100644
--- a/builds/4chan-X.user.js
+++ b/builds/4chan-X.user.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
-// @version 1.13.9.0
+// @version 1.13.9.1
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -153,7 +153,7 @@ docSet = function() {
};
g = {
- VERSION: '1.13.9.0',
+ VERSION: '1.13.9.1',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -6918,7 +6918,7 @@ Redirect = (function() {
archives: [
{ "uid": 3, "name": "4plebs", "domain": "archive.4plebs.org", "http": true, "https": true, "software": "foolfuuka", "boards": [ "adv", "f", "hr", "mlpol", "mo", "o", "pol", "s4s", "sp", "tg", "trv", "tv", "x" ], "files": [ "adv", "f", "hr", "mlpol", "mo", "o", "pol", "s4s", "sp", "tg", "trv", "tv", "x" ], "reports": true },
{ "uid": 4, "name": "Nyafuu Archive", "domain": "archive.nyafuu.org", "http": false, "https": true, "software": "foolfuuka", "boards": [ "c", "e", "n", "news", "out", "p", "toy", "vip", "vp", "w", "wg", "wsr" ], "files": [ "c", "e", "n", "news", "out", "p", "toy", "vip", "vp", "w", "wg", "wsr" ], "reports": true },
- { "uid": 8, "name": "Rebecca Black Tech", "domain": "archive.rebeccablacktech.com", "http": false, "https": true, "software": "foolfuuka", "boards": [ "cgl", "g", "mu" ], "files": [ "cgl", "g", "mu" ] },
+ { "uid": 8, "name": "Rebecca Black Tech", "domain": "archive.rebeccablacktech.com", "http": false, "https": true, "software": "foolfuuka", "boards": [ "cgl", "g", "mu" ], "files": [ "cgl", "g", "mu" ], "reports": true },
{ "uid": 10, "name": "warosu", "domain": "warosu.org", "http": false, "https": true, "software": "fuuka", "boards": [ "3", "biz", "cgl", "ck", "diy", "fa", "g", "ic", "jp", "lit", "sci", "tg", "vr" ], "files": [ "3", "biz", "cgl", "ck", "diy", "fa", "g", "ic", "jp", "lit", "sci", "tg", "vr" ] },
{ "uid": 23, "name": "Desuarchive", "domain": "desuarchive.org", "http": true, "https": true, "software": "foolfuuka", "boards": [ "a", "aco", "an", "c", "co", "d", "fit", "gif", "his", "int", "k", "m", "mlp", "qa", "r9k", "tg", "trash", "vr", "wsg" ], "files": [ "a", "aco", "an", "c", "co", "d", "fit", "gif", "his", "int", "k", "m", "mlp", "qa", "r9k", "tg", "trash", "vr", "wsg" ], "reports": true },
{ "uid": 24, "name": "fireden.net", "domain": "boards.fireden.net", "http": false, "https": true, "software": "foolfuuka", "boards": [ "a", "cm", "ic", "sci", "tg", "v", "vg", "y" ], "files": [ "a", "cm", "ic", "sci", "tg", "v", "vg", "y" ] },
@@ -20795,12 +20795,12 @@ Captcha = {};
});
},
afterSetup: function(mutations) {
- var iframe, j, k, len, len1, mutation, node, ref, textarea;
- for (j = 0, len = mutations.length; j < len; j++) {
- mutation = mutations[j];
+ var i, iframe, j, len, len1, mutation, node, ref, textarea;
+ for (i = 0, len = mutations.length; i < len; i++) {
+ mutation = mutations[i];
ref = mutation.addedNodes;
- for (k = 0, len1 = ref.length; k < len1; k++) {
- node = ref[k];
+ for (j = 0, len1 = ref.length; j < len1; j++) {
+ node = ref[j];
if ((iframe = $.x('./descendant-or-self::iframe', node))) {
this.setupIFrame(iframe);
}
@@ -20842,23 +20842,19 @@ Captcha = {};
})(this));
},
destroy: function() {
- var garbage, i, ins, node, ref;
if (!this.isEnabled) {
return;
}
delete this.timeouts.destroy;
$.rmClass(QR.nodes.el, 'captcha-open');
if (this.nodes.container) {
+ $.global(function() {
+ var container;
+ container = document.querySelector('#qr .captcha-container');
+ return window.grecaptcha.reset(container.dataset.widgetID);
+ });
$.rm(this.nodes.container);
- }
- delete this.nodes.container;
- garbage = $.X('//iframe[starts-with(@src, "https://www.google.com/recaptcha/api2/frame")]/ancestor-or-self::*[parent::body]');
- i = 0;
- while (node = garbage.snapshotItem(i++)) {
- if (((ref = (ins = node.nextSibling)) != null ? ref.nodeName : void 0) === 'INS') {
- $.rm(ins);
- }
- $.rm(node);
+ return delete this.nodes.container;
}
},
getOne: function(isReply) {
diff --git a/builds/4chan-X.zip b/builds/4chan-X.zip
index 49a5bc591..d56445c60 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 a55214b07..f0c9c8b0e 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 5f4e56edb..f62d7bc5a 100644
--- a/builds/updates.xml
+++ b/builds/updates.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/version.json b/version.json
index 71f5325cc..65c2b60f9 100644
--- a/version.json
+++ b/version.json
@@ -1,4 +1,4 @@
{
- "version": "1.13.9.0",
- "date": "2017-04-16T02:19:54.529Z"
+ "version": "1.13.9.1",
+ "date": "2017-04-23T01:03:49.649Z"
}
\ No newline at end of file