diff --git a/CHANGELOG.md b/CHANGELOG.md
index fae924fc8..0bc7368b3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,9 @@ Sometimes the changelog has notes (not comprehensive) acknowledging people's wor
### v1.11.17
+**v1.11.17.9** *(2015-11-24)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.17.9/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.17.9/builds/4chan-X-noupdate.crx "Chromium version")]
+- Support solving 4x4 image captchas with keys in 7-0-/-M square.
+
**v1.11.17.8** *(2015-11-20)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.17.8/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.17.8/builds/4chan-X-noupdate.crx "Chromium version")]
- A few more captcha focusing tweaks.
diff --git a/builds/4chan-X-beta.crx b/builds/4chan-X-beta.crx
index c559e7884..e6f7c567a 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 3006345e5..a82d078a7 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.17.8
+// @version 1.11.17.9
// @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 62f3827b8..ede303647 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.17.8
+// @version 1.11.17.9
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -433,7 +433,7 @@
doc = d.documentElement;
g = {
- VERSION: '1.11.17.8',
+ VERSION: '1.11.17.9',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -7955,6 +7955,7 @@
Captcha.fixes = {
imageKeys: '789456123uiojklm'.split('').concat(['Comma', 'Period']),
+ imageKeys16: '7890uiopjkl'.split('').concat(['Semicolon', 'm', 'Comma', 'Period', 'Slash']),
css: '.rc-imageselect-target > div:focus {\n outline: 2px solid #4a90e2;\n}\n.rc-imageselect-target td:focus {\n box-shadow: inset 0 0 0 2px #4a90e2;\n outline: none;\n}\n.rc-button-default:focus {\n box-shadow: inset 0 0 0 2px #0063d6;\n}',
cssNoscript: '.fbc-payload-imageselect {\n position: relative;\n}\n.fbc-payload-imageselect > label {\n position: absolute;\n display: block;\n height: 93.3px;\n width: 93.3px;\n}\nlabel[data-row="0"] {top: 0px;}\nlabel[data-row="1"] {top: 93.3px;}\nlabel[data-row="2"] {top: 186.6px;}\nlabel[data-col="0"] {left: 0px;}\nlabel[data-col="1"] {left: 93.3px;}\nlabel[data-col="2"] {left: 186.6px;}',
init: function() {
@@ -8016,6 +8017,9 @@
if (this.images.length === 9) {
this.addTooltips(this.images);
}
+ if (this.images.length === 16) {
+ this.addTooltips16(this.images);
+ }
return this.complaintLinks();
},
complaintLinks: function() {
@@ -8062,6 +8066,13 @@
node.title = this.imageKeys[i] + " or " + (this.imageKeys[i + 9][0].toUpperCase()) + this.imageKeys[i + 9].slice(1);
}
},
+ addTooltips16: function(nodes) {
+ var i, k, len1, node;
+ for (i = k = 0, len1 = nodes.length; k < len1; i = ++k) {
+ node = nodes[i];
+ node.title = "" + (this.imageKeys16[i][0].toUpperCase()) + this.imageKeys16[i].slice(1);
+ }
+ },
checkForm: function(e) {
var checkbox, k, len1, n, ref;
n = 0;
@@ -8096,6 +8107,9 @@
} else if (n === 9 && (i = this.imageKeys.indexOf(key)) >= 0) {
this.images[i % 9].click();
verify.focus();
+ } else if (n === 16 && (i = this.imageKeys16.indexOf(key)) >= 0) {
+ this.images[i].click();
+ verify.focus();
} else if (dx = {
'Up': n,
'Down': w,
@@ -16052,6 +16066,11 @@
return 'Comma';
case 190:
return 'Period';
+ case 191:
+ return 'Slash';
+ case 59:
+ case 186:
+ return 'Semicolon';
default:
if ((48 <= kc && kc <= 57) || (65 <= kc && kc <= 90)) {
return String.fromCharCode(kc).toLowerCase();
diff --git a/builds/4chan-X-noupdate.crx b/builds/4chan-X-noupdate.crx
index 9765986b5..ffca9fcdb 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 570728297..f5a75a067 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.17.8
+// @version 1.11.17.9
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -433,7 +433,7 @@
doc = d.documentElement;
g = {
- VERSION: '1.11.17.8',
+ VERSION: '1.11.17.9',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -7955,6 +7955,7 @@
Captcha.fixes = {
imageKeys: '789456123uiojklm'.split('').concat(['Comma', 'Period']),
+ imageKeys16: '7890uiopjkl'.split('').concat(['Semicolon', 'm', 'Comma', 'Period', 'Slash']),
css: '.rc-imageselect-target > div:focus {\n outline: 2px solid #4a90e2;\n}\n.rc-imageselect-target td:focus {\n box-shadow: inset 0 0 0 2px #4a90e2;\n outline: none;\n}\n.rc-button-default:focus {\n box-shadow: inset 0 0 0 2px #0063d6;\n}',
cssNoscript: '.fbc-payload-imageselect {\n position: relative;\n}\n.fbc-payload-imageselect > label {\n position: absolute;\n display: block;\n height: 93.3px;\n width: 93.3px;\n}\nlabel[data-row="0"] {top: 0px;}\nlabel[data-row="1"] {top: 93.3px;}\nlabel[data-row="2"] {top: 186.6px;}\nlabel[data-col="0"] {left: 0px;}\nlabel[data-col="1"] {left: 93.3px;}\nlabel[data-col="2"] {left: 186.6px;}',
init: function() {
@@ -8016,6 +8017,9 @@
if (this.images.length === 9) {
this.addTooltips(this.images);
}
+ if (this.images.length === 16) {
+ this.addTooltips16(this.images);
+ }
return this.complaintLinks();
},
complaintLinks: function() {
@@ -8062,6 +8066,13 @@
node.title = this.imageKeys[i] + " or " + (this.imageKeys[i + 9][0].toUpperCase()) + this.imageKeys[i + 9].slice(1);
}
},
+ addTooltips16: function(nodes) {
+ var i, k, len1, node;
+ for (i = k = 0, len1 = nodes.length; k < len1; i = ++k) {
+ node = nodes[i];
+ node.title = "" + (this.imageKeys16[i][0].toUpperCase()) + this.imageKeys16[i].slice(1);
+ }
+ },
checkForm: function(e) {
var checkbox, k, len1, n, ref;
n = 0;
@@ -8096,6 +8107,9 @@
} else if (n === 9 && (i = this.imageKeys.indexOf(key)) >= 0) {
this.images[i % 9].click();
verify.focus();
+ } else if (n === 16 && (i = this.imageKeys16.indexOf(key)) >= 0) {
+ this.images[i].click();
+ verify.focus();
} else if (dx = {
'Up': n,
'Down': w,
@@ -16052,6 +16066,11 @@
return 'Comma';
case 190:
return 'Period';
+ case 191:
+ return 'Slash';
+ case 59:
+ case 186:
+ return 'Semicolon';
default:
if ((48 <= kc && kc <= 57) || (65 <= kc && kc <= 90)) {
return String.fromCharCode(kc).toLowerCase();
diff --git a/builds/4chan-X.crx b/builds/4chan-X.crx
index 8188f7656..23a184183 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 0f2367ef9..c65c22a4f 100644
--- a/builds/4chan-X.meta.js
+++ b/builds/4chan-X.meta.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
-// @version 1.11.17.8
+// @version 1.11.17.9
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js
index dd59e01c2..ae3e81b16 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.17.8
+// @version 1.11.17.9
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -433,7 +433,7 @@
doc = d.documentElement;
g = {
- VERSION: '1.11.17.8',
+ VERSION: '1.11.17.9',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -7955,6 +7955,7 @@
Captcha.fixes = {
imageKeys: '789456123uiojklm'.split('').concat(['Comma', 'Period']),
+ imageKeys16: '7890uiopjkl'.split('').concat(['Semicolon', 'm', 'Comma', 'Period', 'Slash']),
css: '.rc-imageselect-target > div:focus {\n outline: 2px solid #4a90e2;\n}\n.rc-imageselect-target td:focus {\n box-shadow: inset 0 0 0 2px #4a90e2;\n outline: none;\n}\n.rc-button-default:focus {\n box-shadow: inset 0 0 0 2px #0063d6;\n}',
cssNoscript: '.fbc-payload-imageselect {\n position: relative;\n}\n.fbc-payload-imageselect > label {\n position: absolute;\n display: block;\n height: 93.3px;\n width: 93.3px;\n}\nlabel[data-row="0"] {top: 0px;}\nlabel[data-row="1"] {top: 93.3px;}\nlabel[data-row="2"] {top: 186.6px;}\nlabel[data-col="0"] {left: 0px;}\nlabel[data-col="1"] {left: 93.3px;}\nlabel[data-col="2"] {left: 186.6px;}',
init: function() {
@@ -8016,6 +8017,9 @@
if (this.images.length === 9) {
this.addTooltips(this.images);
}
+ if (this.images.length === 16) {
+ this.addTooltips16(this.images);
+ }
return this.complaintLinks();
},
complaintLinks: function() {
@@ -8062,6 +8066,13 @@
node.title = this.imageKeys[i] + " or " + (this.imageKeys[i + 9][0].toUpperCase()) + this.imageKeys[i + 9].slice(1);
}
},
+ addTooltips16: function(nodes) {
+ var i, k, len1, node;
+ for (i = k = 0, len1 = nodes.length; k < len1; i = ++k) {
+ node = nodes[i];
+ node.title = "" + (this.imageKeys16[i][0].toUpperCase()) + this.imageKeys16[i].slice(1);
+ }
+ },
checkForm: function(e) {
var checkbox, k, len1, n, ref;
n = 0;
@@ -8096,6 +8107,9 @@
} else if (n === 9 && (i = this.imageKeys.indexOf(key)) >= 0) {
this.images[i % 9].click();
verify.focus();
+ } else if (n === 16 && (i = this.imageKeys16.indexOf(key)) >= 0) {
+ this.images[i].click();
+ verify.focus();
} else if (dx = {
'Up': n,
'Down': w,
@@ -16052,6 +16066,11 @@
return 'Comma';
case 190:
return 'Period';
+ case 191:
+ return 'Slash';
+ case 59:
+ case 186:
+ return 'Semicolon';
default:
if ((48 <= kc && kc <= 57) || (65 <= kc && kc <= 90)) {
return String.fromCharCode(kc).toLowerCase();
diff --git a/builds/4chan-X.zip b/builds/4chan-X.zip
index 6d59eb4d1..6e407f059 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 41bd1209b..d8f654ed8 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 ed1e0607b..8386c27b1 100644
--- a/builds/updates.xml
+++ b/builds/updates.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/version.json b/version.json
index 9abc458ba..0d3aece3f 100644
--- a/version.json
+++ b/version.json
@@ -1,4 +1,4 @@
{
- "version": "1.11.17.8",
- "date": "2015-11-21T02:46:47.553Z"
+ "version": "1.11.17.9",
+ "date": "2015-11-25T05:45:29.594Z"
}