Release 4chan X v1.14.5.6.

This commit is contained in:
ccd0 2018-12-15 21:05:16 -08:00
parent 9fd5a88242
commit cf856dd8f9
15 changed files with 107 additions and 62 deletions

View File

@ -4,6 +4,12 @@
### v1.14.5
**v1.14.5.6** *(2018-12-16)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.5.6/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.5.6/builds/4chan-X-noupdate.crx)]
- Fix bug causing Last Index Refresh time to not update with passing time until index/catalog reloaded.
- Treat .bmp files as images.
- Support current-catalog link in custom board list on Tinyboard/vichan.
- Quick fix for issues on lainchan due to not accounting for post container.
**v1.14.5.5** *(2018-12-09)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.5.5/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.5.5/builds/4chan-X-noupdate.crx)]
- Fix bug causing errors on threads in overboards from boards with unusual characters in the name.

Binary file not shown.

View File

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

View File

@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X beta
// @version 1.14.5.5
// @version 1.14.5.6
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@ -198,7 +198,7 @@ docSet = function() {
};
g = {
VERSION: '1.14.5.5',
VERSION: '1.14.5.6',
NAMESPACE: '4chan X.',
boards: {}
};
@ -6714,7 +6714,7 @@ Post = (function() {
}
$.extend(file, {
url: file.link.href,
isImage: /(jpe?g|png|gif)$/i.test(file.link.href),
isImage: /(jpe?g|png|gif|bmp)$/i.test(file.link.href),
isVideo: /(webm|mp4)$/i.test(file.link.href)
});
size = +file.size.match(/[\d.]+/)[0];
@ -9826,7 +9826,9 @@ Header = (function() {
textContent: text || g.BOARD.ID,
className: 'current'
});
if (/-(catalog|archive|expired)/.test(t)) {
if (/-catalog/.test(t)) {
a.href += 'catalog.html';
} else if (/-(archive|expired)/.test(t)) {
a = a.firstChild;
}
return a;
@ -10381,7 +10383,8 @@ Index = (function() {
$.rm($.id('ctrl-top'));
topNavPos = $.id('delform').previousElementSibling;
$.before(topNavPos, $.el('hr'));
return $.before(topNavPos, Index.navLinks);
$.before(topNavPos, Index.navLinks);
return RelativeDates.update($('#index-last-refresh time', Index.navLinks));
});
return Main.ready(function() {
var pagelist;
@ -21129,7 +21132,7 @@ UnreadIndex = (function() {
repliesRead = 0;
firstUnread = null;
thread.posts.forEach(function(post) {
if (post.isReply && post.nodes.root.parentNode === thread.nodes.root) {
if (post.isReply && thread.nodes.root.contains(post.nodes.root)) {
repliesShown++;
if (post.ID <= lastReadPost) {
return repliesRead++;
@ -25622,7 +25625,7 @@ Main = (function() {
ref = record.addedNodes;
for (k = 0, len1 = ref.length; k < len1; k++) {
node = ref[k];
if (node.matches(Site.selectors.thread)) {
if (node.nodeType === Node.ELEMENT_NODE && node.matches(Site.selectors.thread)) {
threadRoots.push(node);
}
}
@ -25643,7 +25646,7 @@ Main = (function() {
});
},
addPosts: function(records) {
var anyRemoved, el, errors, j, k, len, len1, n, posts, record, ref, ref1, thread, threads, threadsRM;
var anyRemoved, el, errors, j, k, l, len, len1, len2, n, node, postRoots, posts, record, ref, ref1, ref2, thread, threads, threadsRM;
threads = [];
threadsRM = [];
posts = [];
@ -25651,16 +25654,26 @@ Main = (function() {
for (j = 0, len = records.length; j < len; j++) {
record = records[j];
thread = Get.threadFromRoot(record.target);
postRoots = [];
ref = record.addedNodes;
for (k = 0, len1 = ref.length; k < len1; k++) {
node = ref[k];
if (node.nodeType === Node.ELEMENT_NODE) {
if (node.matches(Site.selectors.postContainer) || (node = $(Site.selectors.postContainer, node))) {
postRoots.push(node);
}
}
}
n = posts.length;
Main.parsePosts(record.addedNodes, thread, posts, errors);
Main.parsePosts(postRoots, thread, posts, errors);
if (posts.length > n && indexOf.call(threads, thread) < 0) {
threads.push(thread);
}
anyRemoved = false;
ref = record.removedNodes;
for (k = 0, len1 = ref.length; k < len1; k++) {
el = ref[k];
if (((ref1 = Get.postFromRoot(el)) != null ? ref1.nodes.root : void 0) === el && !doc.contains(el)) {
ref1 = record.removedNodes;
for (l = 0, len2 = ref1.length; l < len2; l++) {
el = ref1[l];
if (((ref2 = Get.postFromRoot(el)) != null ? ref2.nodes.root : void 0) === el && !doc.contains(el)) {
anyRemoved = true;
break;
}
@ -25673,13 +25686,13 @@ Main = (function() {
Main.handleErrors(errors);
}
return Main.callbackNodesDB('Post', posts, function() {
var l, len2, len3, m;
for (l = 0, len2 = threads.length; l < len2; l++) {
thread = threads[l];
var len3, len4, m, o;
for (m = 0, len3 = threads.length; m < len3; m++) {
thread = threads[m];
$.event('PostsInserted', null, thread.nodes.root);
}
for (m = 0, len3 = threadsRM.length; m < len3; m++) {
thread = threadsRM[m];
for (o = 0, len4 = threadsRM.length; o < len4; o++) {
thread = threadsRM[o];
$.event('PostsRemoved', null, thread.nodes.root);
}
});

Binary file not shown.

View File

@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
// @version 1.14.5.5
// @version 1.14.5.6
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@ -198,7 +198,7 @@ docSet = function() {
};
g = {
VERSION: '1.14.5.5',
VERSION: '1.14.5.6',
NAMESPACE: '4chan X.',
boards: {}
};
@ -6714,7 +6714,7 @@ Post = (function() {
}
$.extend(file, {
url: file.link.href,
isImage: /(jpe?g|png|gif)$/i.test(file.link.href),
isImage: /(jpe?g|png|gif|bmp)$/i.test(file.link.href),
isVideo: /(webm|mp4)$/i.test(file.link.href)
});
size = +file.size.match(/[\d.]+/)[0];
@ -9826,7 +9826,9 @@ Header = (function() {
textContent: text || g.BOARD.ID,
className: 'current'
});
if (/-(catalog|archive|expired)/.test(t)) {
if (/-catalog/.test(t)) {
a.href += 'catalog.html';
} else if (/-(archive|expired)/.test(t)) {
a = a.firstChild;
}
return a;
@ -10381,7 +10383,8 @@ Index = (function() {
$.rm($.id('ctrl-top'));
topNavPos = $.id('delform').previousElementSibling;
$.before(topNavPos, $.el('hr'));
return $.before(topNavPos, Index.navLinks);
$.before(topNavPos, Index.navLinks);
return RelativeDates.update($('#index-last-refresh time', Index.navLinks));
});
return Main.ready(function() {
var pagelist;
@ -21129,7 +21132,7 @@ UnreadIndex = (function() {
repliesRead = 0;
firstUnread = null;
thread.posts.forEach(function(post) {
if (post.isReply && post.nodes.root.parentNode === thread.nodes.root) {
if (post.isReply && thread.nodes.root.contains(post.nodes.root)) {
repliesShown++;
if (post.ID <= lastReadPost) {
return repliesRead++;
@ -25622,7 +25625,7 @@ Main = (function() {
ref = record.addedNodes;
for (k = 0, len1 = ref.length; k < len1; k++) {
node = ref[k];
if (node.matches(Site.selectors.thread)) {
if (node.nodeType === Node.ELEMENT_NODE && node.matches(Site.selectors.thread)) {
threadRoots.push(node);
}
}
@ -25643,7 +25646,7 @@ Main = (function() {
});
},
addPosts: function(records) {
var anyRemoved, el, errors, j, k, len, len1, n, posts, record, ref, ref1, thread, threads, threadsRM;
var anyRemoved, el, errors, j, k, l, len, len1, len2, n, node, postRoots, posts, record, ref, ref1, ref2, thread, threads, threadsRM;
threads = [];
threadsRM = [];
posts = [];
@ -25651,16 +25654,26 @@ Main = (function() {
for (j = 0, len = records.length; j < len; j++) {
record = records[j];
thread = Get.threadFromRoot(record.target);
postRoots = [];
ref = record.addedNodes;
for (k = 0, len1 = ref.length; k < len1; k++) {
node = ref[k];
if (node.nodeType === Node.ELEMENT_NODE) {
if (node.matches(Site.selectors.postContainer) || (node = $(Site.selectors.postContainer, node))) {
postRoots.push(node);
}
}
}
n = posts.length;
Main.parsePosts(record.addedNodes, thread, posts, errors);
Main.parsePosts(postRoots, thread, posts, errors);
if (posts.length > n && indexOf.call(threads, thread) < 0) {
threads.push(thread);
}
anyRemoved = false;
ref = record.removedNodes;
for (k = 0, len1 = ref.length; k < len1; k++) {
el = ref[k];
if (((ref1 = Get.postFromRoot(el)) != null ? ref1.nodes.root : void 0) === el && !doc.contains(el)) {
ref1 = record.removedNodes;
for (l = 0, len2 = ref1.length; l < len2; l++) {
el = ref1[l];
if (((ref2 = Get.postFromRoot(el)) != null ? ref2.nodes.root : void 0) === el && !doc.contains(el)) {
anyRemoved = true;
break;
}
@ -25673,13 +25686,13 @@ Main = (function() {
Main.handleErrors(errors);
}
return Main.callbackNodesDB('Post', posts, function() {
var l, len2, len3, m;
for (l = 0, len2 = threads.length; l < len2; l++) {
thread = threads[l];
var len3, len4, m, o;
for (m = 0, len3 = threads.length; m < len3; m++) {
thread = threads[m];
$.event('PostsInserted', null, thread.nodes.root);
}
for (m = 0, len3 = threadsRM.length; m < len3; m++) {
thread = threadsRM[m];
for (o = 0, len4 = threadsRM.length; o < len4; o++) {
thread = threadsRM[o];
$.event('PostsRemoved', null, thread.nodes.root);
}
});

Binary file not shown.

View File

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

View File

@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
// @version 1.14.5.5
// @version 1.14.5.6
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@ -198,7 +198,7 @@ docSet = function() {
};
g = {
VERSION: '1.14.5.5',
VERSION: '1.14.5.6',
NAMESPACE: '4chan X.',
boards: {}
};
@ -6714,7 +6714,7 @@ Post = (function() {
}
$.extend(file, {
url: file.link.href,
isImage: /(jpe?g|png|gif)$/i.test(file.link.href),
isImage: /(jpe?g|png|gif|bmp)$/i.test(file.link.href),
isVideo: /(webm|mp4)$/i.test(file.link.href)
});
size = +file.size.match(/[\d.]+/)[0];
@ -9826,7 +9826,9 @@ Header = (function() {
textContent: text || g.BOARD.ID,
className: 'current'
});
if (/-(catalog|archive|expired)/.test(t)) {
if (/-catalog/.test(t)) {
a.href += 'catalog.html';
} else if (/-(archive|expired)/.test(t)) {
a = a.firstChild;
}
return a;
@ -10381,7 +10383,8 @@ Index = (function() {
$.rm($.id('ctrl-top'));
topNavPos = $.id('delform').previousElementSibling;
$.before(topNavPos, $.el('hr'));
return $.before(topNavPos, Index.navLinks);
$.before(topNavPos, Index.navLinks);
return RelativeDates.update($('#index-last-refresh time', Index.navLinks));
});
return Main.ready(function() {
var pagelist;
@ -21129,7 +21132,7 @@ UnreadIndex = (function() {
repliesRead = 0;
firstUnread = null;
thread.posts.forEach(function(post) {
if (post.isReply && post.nodes.root.parentNode === thread.nodes.root) {
if (post.isReply && thread.nodes.root.contains(post.nodes.root)) {
repliesShown++;
if (post.ID <= lastReadPost) {
return repliesRead++;
@ -25622,7 +25625,7 @@ Main = (function() {
ref = record.addedNodes;
for (k = 0, len1 = ref.length; k < len1; k++) {
node = ref[k];
if (node.matches(Site.selectors.thread)) {
if (node.nodeType === Node.ELEMENT_NODE && node.matches(Site.selectors.thread)) {
threadRoots.push(node);
}
}
@ -25643,7 +25646,7 @@ Main = (function() {
});
},
addPosts: function(records) {
var anyRemoved, el, errors, j, k, len, len1, n, posts, record, ref, ref1, thread, threads, threadsRM;
var anyRemoved, el, errors, j, k, l, len, len1, len2, n, node, postRoots, posts, record, ref, ref1, ref2, thread, threads, threadsRM;
threads = [];
threadsRM = [];
posts = [];
@ -25651,16 +25654,26 @@ Main = (function() {
for (j = 0, len = records.length; j < len; j++) {
record = records[j];
thread = Get.threadFromRoot(record.target);
postRoots = [];
ref = record.addedNodes;
for (k = 0, len1 = ref.length; k < len1; k++) {
node = ref[k];
if (node.nodeType === Node.ELEMENT_NODE) {
if (node.matches(Site.selectors.postContainer) || (node = $(Site.selectors.postContainer, node))) {
postRoots.push(node);
}
}
}
n = posts.length;
Main.parsePosts(record.addedNodes, thread, posts, errors);
Main.parsePosts(postRoots, thread, posts, errors);
if (posts.length > n && indexOf.call(threads, thread) < 0) {
threads.push(thread);
}
anyRemoved = false;
ref = record.removedNodes;
for (k = 0, len1 = ref.length; k < len1; k++) {
el = ref[k];
if (((ref1 = Get.postFromRoot(el)) != null ? ref1.nodes.root : void 0) === el && !doc.contains(el)) {
ref1 = record.removedNodes;
for (l = 0, len2 = ref1.length; l < len2; l++) {
el = ref1[l];
if (((ref2 = Get.postFromRoot(el)) != null ? ref2.nodes.root : void 0) === el && !doc.contains(el)) {
anyRemoved = true;
break;
}
@ -25673,13 +25686,13 @@ Main = (function() {
Main.handleErrors(errors);
}
return Main.callbackNodesDB('Post', posts, function() {
var l, len2, len3, m;
for (l = 0, len2 = threads.length; l < len2; l++) {
thread = threads[l];
var len3, len4, m, o;
for (m = 0, len3 = threads.length; m < len3; m++) {
thread = threads[m];
$.event('PostsInserted', null, thread.nodes.root);
}
for (m = 0, len3 = threadsRM.length; m < len3; m++) {
thread = threadsRM[m];
for (o = 0, len4 = threadsRM.length; o < len4; o++) {
thread = threadsRM[o];
$.event('PostsRemoved', null, thread.nodes.root);
}
});

Binary file not shown.

View File

@ -3,7 +3,7 @@
"4chan-x@4chan-x.net": {
"updates": [
{
"version": "1.14.5.5",
"version": "1.14.5.6",
"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.5.5' />
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X-beta.crx' version='1.14.5.6' />
</app>
</gupdate>

View File

@ -3,7 +3,7 @@
"4chan-x@4chan-x.net": {
"updates": [
{
"version": "1.14.5.5",
"version": "1.14.5.6",
"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.5.5' />
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X.crx' version='1.14.5.6' />
</app>
</gupdate>

View File

@ -1,4 +1,4 @@
{
"version": "1.14.5.5",
"date": "2018-12-09T16:37:04.282Z"
"version": "1.14.5.6",
"date": "2018-12-16T04:58:51.703Z"
}