Release 4chan X v1.14.14.2.

This commit is contained in:
ccd0 2019-09-11 21:36:56 -07:00
parent ddade35c8d
commit 5ecbcc0311
15 changed files with 61 additions and 32 deletions

View File

@ -4,6 +4,11 @@
### v1.14.14 ### v1.14.14
**v1.14.14.2** *(2019-09-12)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.14.2/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.14.2/builds/4chan-X-noupdate.crx)]
- (saxamaphone69) CSS Fix for Post Jumper so it doesn't show up in catalog.
- Improve accuracy of determining that comment is only a quote and thus captcha should not be opened yet. #2421, #2431
- Fix image hover activating when mousing over expanded images on ota-ch.
**v1.14.14.1** *(2019-09-06)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.14.1/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.14.1/builds/4chan-X-noupdate.crx)] **v1.14.14.1** *(2019-09-06)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.14.1/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.14.1/builds/4chan-X-noupdate.crx)]
- Merge v1.14.13.3: Move most of the pass message text to the wiki where we can let anyone edit it. - Merge v1.14.13.3: Move most of the pass message text to the wiki where we can let anyone edit it.

Binary file not shown.

View File

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

View File

@ -1,6 +1,6 @@
// ==UserScript== // ==UserScript==
// @name 4chan X beta // @name 4chan X beta
// @version 1.14.14.1 // @version 1.14.14.2
// @minGMVer 1.14 // @minGMVer 1.14
// @minFFVer 26 // @minFFVer 26
// @namespace 4chan-X // @namespace 4chan-X
@ -211,7 +211,7 @@ docSet = function() {
}; };
g = { g = {
VERSION: '1.14.14.1', VERSION: '1.14.14.2',
NAMESPACE: '4chan X.', NAMESPACE: '4chan X.',
sites: Object.create(null), sites: Object.create(null),
boards: Object.create(null) boards: Object.create(null)
@ -2252,8 +2252,7 @@ div[data-checked=\"false\"] > .suboption-list {\n\
.catalog-post > .postInfo > :not(.subject):not(.nameBlock):not(.dateTime),\n\ .catalog-post > .postInfo > :not(.subject):not(.nameBlock):not(.dateTime),\n\
.catalog-post > .postInfo > .nameBlock > .contact-links,\n\ .catalog-post > .postInfo > .nameBlock > .contact-links,\n\
.catalog-post > * > * > .posteruid,\n\ .catalog-post > * > * > .posteruid,\n\
.catalog-post > * > * > .uniqueIDJumper,\n\ .catalog-post > * > * > .postJumper,\n\
.catalog-post > * > * > .capcodeJumper,\n\
:root.bottom-backlinks .catalog-post > .container,\n\ :root.bottom-backlinks .catalog-post > .container,\n\
.post:not(.catalog-post) > .catalog-link,\n\ .post:not(.catalog-post) > .catalog-link,\n\
.post:not(.catalog-post) > .catalog-stats,\n\ .post:not(.catalog-post) > .catalog-stats,\n\
@ -7974,7 +7973,7 @@ SW = {};
return true; return true;
}, },
isThumbExpanded: function(file) { isThumbExpanded: function(file) {
return $.hasClass(file.thumb.parentNode, 'expanded'); return $.hasClass(file.thumb.parentNode, 'expanded') || file.thumb.parentNode.dataset.expanded === 'true';
}, },
isLinkified: function(link) { isLinkified: function(link) {
return /\bnofollow\b/.test(link.rel); return /\bnofollow\b/.test(link.rel);
@ -23077,7 +23076,7 @@ Captcha = {};
return this.captchas.length; return this.captchas.length;
}, },
neededRaw: function() { neededRaw: function() {
return !(this.haveCookie() || this.captchas.length || QR.req || this.submitCB) && (QR.posts.length > 1 || Conf['Auto-load captcha'] || /^\s*[^\s>]/m.test(QR.posts[0].com || '') || QR.posts[0].file); return !(this.haveCookie() || this.captchas.length || QR.req || this.submitCB) && (QR.posts.length > 1 || Conf['Auto-load captcha'] || !QR.posts[0].isOnlyQuotes() || QR.posts[0].file);
}, },
needed: function() { needed: function() {
return this.neededRaw() && $.event('LoadCaptcha'); return this.neededRaw() && $.event('LoadCaptcha');
@ -23089,7 +23088,7 @@ Captcha = {};
return $.queueTask((function(_this) { return $.queueTask((function(_this) {
return function() { return function() {
var isReply; var isReply;
if (!_this.prerequested && _this.neededRaw() && !$.event('LoadCaptcha') && !QR.captcha.occupied() && QR.cooldown.seconds <= 60 && QR.selected === QR.posts[QR.posts.length - 1] && /^\s*[^\s>]/m.test(QR.selected.com || '')) { if (!_this.prerequested && _this.neededRaw() && !$.event('LoadCaptcha') && !QR.captcha.occupied() && QR.cooldown.seconds <= 60 && QR.selected === QR.posts[QR.posts.length - 1] && !QR.selected.isOnlyQuotes()) {
isReply = QR.selected.thread !== 'new'; isReply = QR.selected.thread !== 'new';
if (!$.event('RequestCaptcha', { if (!$.event('RequestCaptcha', {
isReply: isReply isReply: isReply
@ -24321,7 +24320,7 @@ QR = (function() {
} }
}, },
quote: function(e) { quote: function(e) {
var ancestor, base, caretPos, com, frag, i, insideCode, j, k, l, len, len1, len2, len3, n, node, o, post, postRange, range, ref, ref1, ref2, ref3, ref4, ref5, ref6, root, sel, text, thread; var ancestor, base, caretPos, com, frag, i, insideCode, j, k, l, len, len1, len2, len3, n, node, o, post, postRange, range, ref, ref1, ref2, ref3, ref4, ref5, ref6, root, sel, text, thread, wasOnlyQuotes;
if (e != null) { if (e != null) {
e.preventDefault(); e.preventDefault();
} }
@ -24390,11 +24389,15 @@ QR = (function() {
if (!com.value) { if (!com.value) {
thread.value = Get.threadFromNode(this); thread.value = Get.threadFromNode(this);
} }
wasOnlyQuotes = QR.selected.isOnlyQuotes();
caretPos = com.selectionStart; caretPos = com.selectionStart;
com.value = com.value.slice(0, caretPos) + text + com.value.slice(com.selectionEnd); com.value = com.value.slice(0, caretPos) + text + com.value.slice(com.selectionEnd);
range = caretPos + text.length; range = caretPos + text.length;
com.setSelectionRange(range, range); com.setSelectionRange(range, range);
com.focus(); com.focus();
if (wasOnlyQuotes) {
QR.selected.quotedText = com.value;
}
QR.selected.save(com); QR.selected.save(com);
return QR.selected.save(thread); return QR.selected.save(thread);
}, },
@ -24798,6 +24801,7 @@ QR = (function() {
} }
} }
post = QR.posts[0]; post = QR.posts[0];
delete post.quotedText;
post.forceSave(); post.forceSave();
threadID = post.thread; threadID = post.thread;
thread = g.BOARD.threads.get(threadID); thread = g.BOARD.threads.get(threadID);
@ -25875,6 +25879,10 @@ QR = (function() {
return Captcha.cache.prerequest(); return Captcha.cache.prerequest();
}; };
_Class.prototype.isOnlyQuotes = function() {
return (this.com || '').trim() === (this.quotedText || '').trim();
};
_Class.rmErrored = function(e) { _Class.rmErrored = function(e) {
var error, errors, i, j, len, post, ref; var error, errors, i, j, len, post, ref;
e.stopPropagation(); e.stopPropagation();

Binary file not shown.

View File

@ -1,6 +1,6 @@
// ==UserScript== // ==UserScript==
// @name 4chan X // @name 4chan X
// @version 1.14.14.1 // @version 1.14.14.2
// @minGMVer 1.14 // @minGMVer 1.14
// @minFFVer 26 // @minFFVer 26
// @namespace 4chan-X // @namespace 4chan-X
@ -211,7 +211,7 @@ docSet = function() {
}; };
g = { g = {
VERSION: '1.14.14.1', VERSION: '1.14.14.2',
NAMESPACE: '4chan X.', NAMESPACE: '4chan X.',
sites: Object.create(null), sites: Object.create(null),
boards: Object.create(null) boards: Object.create(null)
@ -2252,8 +2252,7 @@ div[data-checked=\"false\"] > .suboption-list {\n\
.catalog-post > .postInfo > :not(.subject):not(.nameBlock):not(.dateTime),\n\ .catalog-post > .postInfo > :not(.subject):not(.nameBlock):not(.dateTime),\n\
.catalog-post > .postInfo > .nameBlock > .contact-links,\n\ .catalog-post > .postInfo > .nameBlock > .contact-links,\n\
.catalog-post > * > * > .posteruid,\n\ .catalog-post > * > * > .posteruid,\n\
.catalog-post > * > * > .uniqueIDJumper,\n\ .catalog-post > * > * > .postJumper,\n\
.catalog-post > * > * > .capcodeJumper,\n\
:root.bottom-backlinks .catalog-post > .container,\n\ :root.bottom-backlinks .catalog-post > .container,\n\
.post:not(.catalog-post) > .catalog-link,\n\ .post:not(.catalog-post) > .catalog-link,\n\
.post:not(.catalog-post) > .catalog-stats,\n\ .post:not(.catalog-post) > .catalog-stats,\n\
@ -7974,7 +7973,7 @@ SW = {};
return true; return true;
}, },
isThumbExpanded: function(file) { isThumbExpanded: function(file) {
return $.hasClass(file.thumb.parentNode, 'expanded'); return $.hasClass(file.thumb.parentNode, 'expanded') || file.thumb.parentNode.dataset.expanded === 'true';
}, },
isLinkified: function(link) { isLinkified: function(link) {
return /\bnofollow\b/.test(link.rel); return /\bnofollow\b/.test(link.rel);
@ -23077,7 +23076,7 @@ Captcha = {};
return this.captchas.length; return this.captchas.length;
}, },
neededRaw: function() { neededRaw: function() {
return !(this.haveCookie() || this.captchas.length || QR.req || this.submitCB) && (QR.posts.length > 1 || Conf['Auto-load captcha'] || /^\s*[^\s>]/m.test(QR.posts[0].com || '') || QR.posts[0].file); return !(this.haveCookie() || this.captchas.length || QR.req || this.submitCB) && (QR.posts.length > 1 || Conf['Auto-load captcha'] || !QR.posts[0].isOnlyQuotes() || QR.posts[0].file);
}, },
needed: function() { needed: function() {
return this.neededRaw() && $.event('LoadCaptcha'); return this.neededRaw() && $.event('LoadCaptcha');
@ -23089,7 +23088,7 @@ Captcha = {};
return $.queueTask((function(_this) { return $.queueTask((function(_this) {
return function() { return function() {
var isReply; var isReply;
if (!_this.prerequested && _this.neededRaw() && !$.event('LoadCaptcha') && !QR.captcha.occupied() && QR.cooldown.seconds <= 60 && QR.selected === QR.posts[QR.posts.length - 1] && /^\s*[^\s>]/m.test(QR.selected.com || '')) { if (!_this.prerequested && _this.neededRaw() && !$.event('LoadCaptcha') && !QR.captcha.occupied() && QR.cooldown.seconds <= 60 && QR.selected === QR.posts[QR.posts.length - 1] && !QR.selected.isOnlyQuotes()) {
isReply = QR.selected.thread !== 'new'; isReply = QR.selected.thread !== 'new';
if (!$.event('RequestCaptcha', { if (!$.event('RequestCaptcha', {
isReply: isReply isReply: isReply
@ -24321,7 +24320,7 @@ QR = (function() {
} }
}, },
quote: function(e) { quote: function(e) {
var ancestor, base, caretPos, com, frag, i, insideCode, j, k, l, len, len1, len2, len3, n, node, o, post, postRange, range, ref, ref1, ref2, ref3, ref4, ref5, ref6, root, sel, text, thread; var ancestor, base, caretPos, com, frag, i, insideCode, j, k, l, len, len1, len2, len3, n, node, o, post, postRange, range, ref, ref1, ref2, ref3, ref4, ref5, ref6, root, sel, text, thread, wasOnlyQuotes;
if (e != null) { if (e != null) {
e.preventDefault(); e.preventDefault();
} }
@ -24390,11 +24389,15 @@ QR = (function() {
if (!com.value) { if (!com.value) {
thread.value = Get.threadFromNode(this); thread.value = Get.threadFromNode(this);
} }
wasOnlyQuotes = QR.selected.isOnlyQuotes();
caretPos = com.selectionStart; caretPos = com.selectionStart;
com.value = com.value.slice(0, caretPos) + text + com.value.slice(com.selectionEnd); com.value = com.value.slice(0, caretPos) + text + com.value.slice(com.selectionEnd);
range = caretPos + text.length; range = caretPos + text.length;
com.setSelectionRange(range, range); com.setSelectionRange(range, range);
com.focus(); com.focus();
if (wasOnlyQuotes) {
QR.selected.quotedText = com.value;
}
QR.selected.save(com); QR.selected.save(com);
return QR.selected.save(thread); return QR.selected.save(thread);
}, },
@ -24798,6 +24801,7 @@ QR = (function() {
} }
} }
post = QR.posts[0]; post = QR.posts[0];
delete post.quotedText;
post.forceSave(); post.forceSave();
threadID = post.thread; threadID = post.thread;
thread = g.BOARD.threads.get(threadID); thread = g.BOARD.threads.get(threadID);
@ -25875,6 +25879,10 @@ QR = (function() {
return Captcha.cache.prerequest(); return Captcha.cache.prerequest();
}; };
_Class.prototype.isOnlyQuotes = function() {
return (this.com || '').trim() === (this.quotedText || '').trim();
};
_Class.rmErrored = function(e) { _Class.rmErrored = function(e) {
var error, errors, i, j, len, post, ref; var error, errors, i, j, len, post, ref;
e.stopPropagation(); e.stopPropagation();

Binary file not shown.

View File

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

View File

@ -1,6 +1,6 @@
// ==UserScript== // ==UserScript==
// @name 4chan X // @name 4chan X
// @version 1.14.14.1 // @version 1.14.14.2
// @minGMVer 1.14 // @minGMVer 1.14
// @minFFVer 26 // @minFFVer 26
// @namespace 4chan-X // @namespace 4chan-X
@ -211,7 +211,7 @@ docSet = function() {
}; };
g = { g = {
VERSION: '1.14.14.1', VERSION: '1.14.14.2',
NAMESPACE: '4chan X.', NAMESPACE: '4chan X.',
sites: Object.create(null), sites: Object.create(null),
boards: Object.create(null) boards: Object.create(null)
@ -2252,8 +2252,7 @@ div[data-checked=\"false\"] > .suboption-list {\n\
.catalog-post > .postInfo > :not(.subject):not(.nameBlock):not(.dateTime),\n\ .catalog-post > .postInfo > :not(.subject):not(.nameBlock):not(.dateTime),\n\
.catalog-post > .postInfo > .nameBlock > .contact-links,\n\ .catalog-post > .postInfo > .nameBlock > .contact-links,\n\
.catalog-post > * > * > .posteruid,\n\ .catalog-post > * > * > .posteruid,\n\
.catalog-post > * > * > .uniqueIDJumper,\n\ .catalog-post > * > * > .postJumper,\n\
.catalog-post > * > * > .capcodeJumper,\n\
:root.bottom-backlinks .catalog-post > .container,\n\ :root.bottom-backlinks .catalog-post > .container,\n\
.post:not(.catalog-post) > .catalog-link,\n\ .post:not(.catalog-post) > .catalog-link,\n\
.post:not(.catalog-post) > .catalog-stats,\n\ .post:not(.catalog-post) > .catalog-stats,\n\
@ -7974,7 +7973,7 @@ SW = {};
return true; return true;
}, },
isThumbExpanded: function(file) { isThumbExpanded: function(file) {
return $.hasClass(file.thumb.parentNode, 'expanded'); return $.hasClass(file.thumb.parentNode, 'expanded') || file.thumb.parentNode.dataset.expanded === 'true';
}, },
isLinkified: function(link) { isLinkified: function(link) {
return /\bnofollow\b/.test(link.rel); return /\bnofollow\b/.test(link.rel);
@ -23077,7 +23076,7 @@ Captcha = {};
return this.captchas.length; return this.captchas.length;
}, },
neededRaw: function() { neededRaw: function() {
return !(this.haveCookie() || this.captchas.length || QR.req || this.submitCB) && (QR.posts.length > 1 || Conf['Auto-load captcha'] || /^\s*[^\s>]/m.test(QR.posts[0].com || '') || QR.posts[0].file); return !(this.haveCookie() || this.captchas.length || QR.req || this.submitCB) && (QR.posts.length > 1 || Conf['Auto-load captcha'] || !QR.posts[0].isOnlyQuotes() || QR.posts[0].file);
}, },
needed: function() { needed: function() {
return this.neededRaw() && $.event('LoadCaptcha'); return this.neededRaw() && $.event('LoadCaptcha');
@ -23089,7 +23088,7 @@ Captcha = {};
return $.queueTask((function(_this) { return $.queueTask((function(_this) {
return function() { return function() {
var isReply; var isReply;
if (!_this.prerequested && _this.neededRaw() && !$.event('LoadCaptcha') && !QR.captcha.occupied() && QR.cooldown.seconds <= 60 && QR.selected === QR.posts[QR.posts.length - 1] && /^\s*[^\s>]/m.test(QR.selected.com || '')) { if (!_this.prerequested && _this.neededRaw() && !$.event('LoadCaptcha') && !QR.captcha.occupied() && QR.cooldown.seconds <= 60 && QR.selected === QR.posts[QR.posts.length - 1] && !QR.selected.isOnlyQuotes()) {
isReply = QR.selected.thread !== 'new'; isReply = QR.selected.thread !== 'new';
if (!$.event('RequestCaptcha', { if (!$.event('RequestCaptcha', {
isReply: isReply isReply: isReply
@ -24321,7 +24320,7 @@ QR = (function() {
} }
}, },
quote: function(e) { quote: function(e) {
var ancestor, base, caretPos, com, frag, i, insideCode, j, k, l, len, len1, len2, len3, n, node, o, post, postRange, range, ref, ref1, ref2, ref3, ref4, ref5, ref6, root, sel, text, thread; var ancestor, base, caretPos, com, frag, i, insideCode, j, k, l, len, len1, len2, len3, n, node, o, post, postRange, range, ref, ref1, ref2, ref3, ref4, ref5, ref6, root, sel, text, thread, wasOnlyQuotes;
if (e != null) { if (e != null) {
e.preventDefault(); e.preventDefault();
} }
@ -24390,11 +24389,15 @@ QR = (function() {
if (!com.value) { if (!com.value) {
thread.value = Get.threadFromNode(this); thread.value = Get.threadFromNode(this);
} }
wasOnlyQuotes = QR.selected.isOnlyQuotes();
caretPos = com.selectionStart; caretPos = com.selectionStart;
com.value = com.value.slice(0, caretPos) + text + com.value.slice(com.selectionEnd); com.value = com.value.slice(0, caretPos) + text + com.value.slice(com.selectionEnd);
range = caretPos + text.length; range = caretPos + text.length;
com.setSelectionRange(range, range); com.setSelectionRange(range, range);
com.focus(); com.focus();
if (wasOnlyQuotes) {
QR.selected.quotedText = com.value;
}
QR.selected.save(com); QR.selected.save(com);
return QR.selected.save(thread); return QR.selected.save(thread);
}, },
@ -24798,6 +24801,7 @@ QR = (function() {
} }
} }
post = QR.posts[0]; post = QR.posts[0];
delete post.quotedText;
post.forceSave(); post.forceSave();
threadID = post.thread; threadID = post.thread;
thread = g.BOARD.threads.get(threadID); thread = g.BOARD.threads.get(threadID);
@ -25875,6 +25879,10 @@ QR = (function() {
return Captcha.cache.prerequest(); return Captcha.cache.prerequest();
}; };
_Class.prototype.isOnlyQuotes = function() {
return (this.com || '').trim() === (this.quotedText || '').trim();
};
_Class.rmErrored = function(e) { _Class.rmErrored = function(e) {
var error, errors, i, j, len, post, ref; var error, errors, i, j, len, post, ref;
e.stopPropagation(); e.stopPropagation();

Binary file not shown.

View File

@ -3,7 +3,7 @@
"4chan-x@4chan-x.net": { "4chan-x@4chan-x.net": {
"updates": [ "updates": [
{ {
"version": "1.14.14.1", "version": "1.14.14.2",
"update_link": "https://www.4chan-x.net/builds/4chan-X-beta.crx" "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'?> <?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'> <gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
<app appid='lacclbnghgdicfifcamcmcnilckjamag'> <app appid='lacclbnghgdicfifcamcmcnilckjamag'>
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X-beta.crx' version='1.14.14.1' /> <updatecheck codebase='https://www.4chan-x.net/builds/4chan-X-beta.crx' version='1.14.14.2' />
</app> </app>
</gupdate> </gupdate>

View File

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

View File

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

View File

@ -1,4 +1,4 @@
{ {
"version": "1.14.14.1", "version": "1.14.14.2",
"date": "2019-09-06T05:36:09.749Z" "date": "2019-09-12T04:27:54.601Z"
} }