Release 4chan X v1.14.10.2.

This commit is contained in:
ccd0 2019-07-23 13:31:58 -07:00
parent 9fd41e8405
commit d3e4c62c8f
15 changed files with 49 additions and 26 deletions

View File

@ -4,6 +4,11 @@
### v1.14.10
**v1.14.10.2** *(2019-07-23)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.10.2/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.10.2/builds/4chan-X-noupdate.crx)]
- Limit number of autoretries on posting error to reduce likelihood of "excessive server request" bans. #1302
- Fix bug from v1.14.10.0 causing full image and thumbnail to briefly appear simultaneously while contracting images and causing unwanted scrolling.
- Fix bug causing issues in inlined quotes such as "You" in post menu being unchecked and posts sometimes being wrongly marked as deleted.
**v1.14.10.1** *(2019-07-19)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.10.1/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.10.1/builds/4chan-X-noupdate.crx)]
- Merge v1.14.9.2: Fix regression causing thread watcher to stop highlighting active thread.
- Add option `Filter in Native Catalog` to apply 4chan X filters on native catalog. Also works on vichan sites. Enabled by default for new installs only. #2351

Binary file not shown.

View File

@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X beta
// @version 1.14.10.1
// @version 1.14.10.2
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X

View File

@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X beta
// @version 1.14.10.1
// @version 1.14.10.2
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@ -199,7 +199,7 @@ docSet = function() {
};
g = {
VERSION: '1.14.10.1',
VERSION: '1.14.10.2',
NAMESPACE: '4chan X.',
sites: {},
boards: {}
@ -2617,7 +2617,7 @@ textarea.copy-text-element {\n\
.expanded-image > .post > .file > .fileThumb > img[data-md5] {\n\
display: none;\n\
}\n\
.full-image[data-full-i-d] {\n\
.full-image[data-file-i-d] {\n\
display: none;\n\
cursor: pointer;\n\
}\n\
@ -7172,7 +7172,7 @@ Post = (function() {
var base, file, fileRoot, fileRoots, i, inline, inlined, j, k, key, l, len, len1, len2, len3, len4, m, node, nodes, originFile, ref, ref1, ref2, ref3, ref4, ref5, ref6, root, selector, val;
this.origin = origin;
this.context = context;
ref = ['ID', 'fullID', 'board', 'thread', 'info', 'quotes', 'isReply'];
ref = ['ID', 'postID', 'threadID', 'boardID', 'siteID', 'fullID', 'board', 'thread', 'info', 'quotes', 'isReply'];
for (i = 0, len = ref.length; i < len; i++) {
key = ref[i];
this[key] = this.origin[key];
@ -24479,14 +24479,19 @@ QR = (function() {
}
delete QR.currentCaptcha;
if (err) {
QR.errorCount = (QR.errorCount || 0) + 1;
if (/captcha|verification/i.test(err.textContent) || connErr) {
if (/mistyped/i.test(err.textContent)) {
err = 'You mistyped the CAPTCHA, or the CAPTCHA malfunctioned.';
} else if (/expired/i.test(err.textContent)) {
err = 'This CAPTCHA is no longer valid because it has expired.';
}
QR.cooldown.auto = QR.captcha.isEnabled || connErr;
QR.cooldown.addDelay(post, 2);
if (QR.errorCount >= 5) {
QR.cooldown.auto = false;
} else {
QR.cooldown.auto = QR.captcha.isEnabled || connErr;
QR.cooldown.addDelay(post, 2);
}
} else if (err.textContent && (m = err.textContent.match(/(?:(\d+)\s+minutes?\s+)?(\d+)\s+second/i)) && !/duplicate|hour/i.test(err.textContent)) {
QR.cooldown.auto = !/have\s+been\s+muted/i.test(err.textContent);
seconds = 60 * (+(m[1] || 0)) + (+m[2]);
@ -24503,6 +24508,7 @@ QR = (function() {
QR.error(err);
return;
}
delete QR.errorCount;
h1 = $('h1', this.response);
ref3 = h1.nextSibling.textContent.match(/thread:(\d+),no:(\d+)/), _ = ref3[0], threadID = ref3[1], postID = ref3[2];
postID = +postID;

Binary file not shown.

View File

@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
// @version 1.14.10.1
// @version 1.14.10.2
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@ -199,7 +199,7 @@ docSet = function() {
};
g = {
VERSION: '1.14.10.1',
VERSION: '1.14.10.2',
NAMESPACE: '4chan X.',
sites: {},
boards: {}
@ -2617,7 +2617,7 @@ textarea.copy-text-element {\n\
.expanded-image > .post > .file > .fileThumb > img[data-md5] {\n\
display: none;\n\
}\n\
.full-image[data-full-i-d] {\n\
.full-image[data-file-i-d] {\n\
display: none;\n\
cursor: pointer;\n\
}\n\
@ -7172,7 +7172,7 @@ Post = (function() {
var base, file, fileRoot, fileRoots, i, inline, inlined, j, k, key, l, len, len1, len2, len3, len4, m, node, nodes, originFile, ref, ref1, ref2, ref3, ref4, ref5, ref6, root, selector, val;
this.origin = origin;
this.context = context;
ref = ['ID', 'fullID', 'board', 'thread', 'info', 'quotes', 'isReply'];
ref = ['ID', 'postID', 'threadID', 'boardID', 'siteID', 'fullID', 'board', 'thread', 'info', 'quotes', 'isReply'];
for (i = 0, len = ref.length; i < len; i++) {
key = ref[i];
this[key] = this.origin[key];
@ -24479,14 +24479,19 @@ QR = (function() {
}
delete QR.currentCaptcha;
if (err) {
QR.errorCount = (QR.errorCount || 0) + 1;
if (/captcha|verification/i.test(err.textContent) || connErr) {
if (/mistyped/i.test(err.textContent)) {
err = 'You mistyped the CAPTCHA, or the CAPTCHA malfunctioned.';
} else if (/expired/i.test(err.textContent)) {
err = 'This CAPTCHA is no longer valid because it has expired.';
}
QR.cooldown.auto = QR.captcha.isEnabled || connErr;
QR.cooldown.addDelay(post, 2);
if (QR.errorCount >= 5) {
QR.cooldown.auto = false;
} else {
QR.cooldown.auto = QR.captcha.isEnabled || connErr;
QR.cooldown.addDelay(post, 2);
}
} else if (err.textContent && (m = err.textContent.match(/(?:(\d+)\s+minutes?\s+)?(\d+)\s+second/i)) && !/duplicate|hour/i.test(err.textContent)) {
QR.cooldown.auto = !/have\s+been\s+muted/i.test(err.textContent);
seconds = 60 * (+(m[1] || 0)) + (+m[2]);
@ -24503,6 +24508,7 @@ QR = (function() {
QR.error(err);
return;
}
delete QR.errorCount;
h1 = $('h1', this.response);
ref3 = h1.nextSibling.textContent.match(/thread:(\d+),no:(\d+)/), _ = ref3[0], threadID = ref3[1], postID = ref3[2];
postID = +postID;

Binary file not shown.

View File

@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
// @version 1.14.10.1
// @version 1.14.10.2
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X

View File

@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
// @version 1.14.10.1
// @version 1.14.10.2
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@ -199,7 +199,7 @@ docSet = function() {
};
g = {
VERSION: '1.14.10.1',
VERSION: '1.14.10.2',
NAMESPACE: '4chan X.',
sites: {},
boards: {}
@ -2617,7 +2617,7 @@ textarea.copy-text-element {\n\
.expanded-image > .post > .file > .fileThumb > img[data-md5] {\n\
display: none;\n\
}\n\
.full-image[data-full-i-d] {\n\
.full-image[data-file-i-d] {\n\
display: none;\n\
cursor: pointer;\n\
}\n\
@ -7172,7 +7172,7 @@ Post = (function() {
var base, file, fileRoot, fileRoots, i, inline, inlined, j, k, key, l, len, len1, len2, len3, len4, m, node, nodes, originFile, ref, ref1, ref2, ref3, ref4, ref5, ref6, root, selector, val;
this.origin = origin;
this.context = context;
ref = ['ID', 'fullID', 'board', 'thread', 'info', 'quotes', 'isReply'];
ref = ['ID', 'postID', 'threadID', 'boardID', 'siteID', 'fullID', 'board', 'thread', 'info', 'quotes', 'isReply'];
for (i = 0, len = ref.length; i < len; i++) {
key = ref[i];
this[key] = this.origin[key];
@ -24479,14 +24479,19 @@ QR = (function() {
}
delete QR.currentCaptcha;
if (err) {
QR.errorCount = (QR.errorCount || 0) + 1;
if (/captcha|verification/i.test(err.textContent) || connErr) {
if (/mistyped/i.test(err.textContent)) {
err = 'You mistyped the CAPTCHA, or the CAPTCHA malfunctioned.';
} else if (/expired/i.test(err.textContent)) {
err = 'This CAPTCHA is no longer valid because it has expired.';
}
QR.cooldown.auto = QR.captcha.isEnabled || connErr;
QR.cooldown.addDelay(post, 2);
if (QR.errorCount >= 5) {
QR.cooldown.auto = false;
} else {
QR.cooldown.auto = QR.captcha.isEnabled || connErr;
QR.cooldown.addDelay(post, 2);
}
} else if (err.textContent && (m = err.textContent.match(/(?:(\d+)\s+minutes?\s+)?(\d+)\s+second/i)) && !/duplicate|hour/i.test(err.textContent)) {
QR.cooldown.auto = !/have\s+been\s+muted/i.test(err.textContent);
seconds = 60 * (+(m[1] || 0)) + (+m[2]);
@ -24503,6 +24508,7 @@ QR = (function() {
QR.error(err);
return;
}
delete QR.errorCount;
h1 = $('h1', this.response);
ref3 = h1.nextSibling.textContent.match(/thread:(\d+),no:(\d+)/), _ = ref3[0], threadID = ref3[1], postID = ref3[2];
postID = +postID;

Binary file not shown.

View File

@ -3,7 +3,7 @@
"4chan-x@4chan-x.net": {
"updates": [
{
"version": "1.14.10.1",
"version": "1.14.10.2",
"update_link": "https://www.4chan-x.net/builds/4chan-X-beta.crx"
}
]

View File

@ -1,7 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
<app appid='lacclbnghgdicfifcamcmcnilckjamag'>
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X-beta.crx' version='1.14.10.1' />
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X-beta.crx' version='1.14.10.2' />
</app>
</gupdate>

View File

@ -3,7 +3,7 @@
"4chan-x@4chan-x.net": {
"updates": [
{
"version": "1.14.10.1",
"version": "1.14.10.2",
"update_link": "https://www.4chan-x.net/builds/4chan-X.crx"
}
]

View File

@ -1,7 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
<app appid='lacclbnghgdicfifcamcmcnilckjamag'>
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X.crx' version='1.14.10.1' />
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X.crx' version='1.14.10.2' />
</app>
</gupdate>

View File

@ -1,4 +1,4 @@
{
"version": "1.14.10.1",
"date": "2019-07-19T02:39:09.742Z"
"version": "1.14.10.2",
"date": "2019-07-23T20:21:29.383Z"
}