diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1a67d74a9..1fafc1154 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,9 @@
### v1.13.11
+**v1.13.11.2** *(2017-08-12)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.13.11.2/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.13.11.2/builds/4chan-X-noupdate.crx)]
+- Last Long Reply order will now ignore hidden and filtered replies.
+
**v1.13.11.1** *(2017-08-10)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.13.11.1/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.13.11.1/builds/4chan-X-noupdate.crx)]
- Merge v1.13.10.6: Disable 'Redirect to HTTPS' on platforms where we use localStorage for saving settings.
diff --git a/builds/4chan-X-beta.crx b/builds/4chan-X-beta.crx
index b7f78bcd3..c0f03e79e 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 ec4fff474..a0cf94e3d 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.11.1
+// @version 1.13.11.2
// @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 74960a3ea..7f188e709 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.11.1
+// @version 1.13.11.2
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -153,7 +153,7 @@ docSet = function() {
};
g = {
- VERSION: '1.13.11.1',
+ VERSION: '1.13.11.2',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -10368,6 +10368,9 @@ Index = (function() {
return Index.parsedThreads[threadID].isHidden;
}
},
+ isHiddenReply: function(threadID, replyData) {
+ return PostHiding.isHidden(g.BOARD.ID, threadID, replyData.no) || Filter.isHidden(Build.parseJSON(replyData, g.BOARD.ID));
+ },
buildThreads: function(threadIDs, isCatalog) {
var ID, OP, err, errors, isStale, k, len1, newPosts, newThreads, obj, thread, threadData, threads;
threads = [];
@@ -10502,10 +10505,7 @@ Index = (function() {
replies = [];
for (k = 0, len1 = lastReplies.length; k < len1; k++) {
data = lastReplies[k];
- if (PostHiding.isHidden(g.BOARD.ID, thread.ID, data.no)) {
- continue;
- }
- if (Filter.isHidden(Build.parseJSON(data, g.BOARD.ID))) {
+ if (Index.isHiddenReply(thread.ID, data)) {
continue;
}
reply = Build.catalogReply(thread, data);
@@ -10520,12 +10520,13 @@ Index = (function() {
$.add(thread.OP.nodes.post, nodes.replies);
},
sort: function() {
- var lastlong, liveThreadData, liveThreadIDs, threadIDs;
+ var lastlong, lastlongD, liveThreadData, liveThreadIDs, thread, threadIDs;
liveThreadIDs = Index.liveThreadIDs, liveThreadData = Index.liveThreadData;
if (!liveThreadData) {
return;
}
Index.sortedThreadIDs = (function() {
+ var k, len1;
switch (Index.currentSort.replace(/-rev$/, '')) {
case 'lastreply':
return slice.call(liveThreadData).sort(function(a, b) {
@@ -10546,6 +10547,9 @@ Index = (function() {
ref = thread.last_replies || [];
for (i = k = ref.length - 1; k >= 0; i = k += -1) {
r = ref[i];
+ if (Index.isHiddenReply(thread.no, r)) {
+ continue;
+ }
len = r.com ? Build.parseComment(r.com).replace(/[^a-z]/ig, '').length : 0;
if (len >= Index.lastLongThresholds[+(!!r.ext)]) {
return r;
@@ -10557,8 +10561,13 @@ Index = (function() {
return thread;
}
};
+ lastlongD = {};
+ for (k = 0, len1 = liveThreadData.length; k < len1; k++) {
+ thread = liveThreadData[k];
+ lastlongD[thread.no] = lastlong(thread).no;
+ }
return slice.call(liveThreadData).sort(function(a, b) {
- return lastlong(b).no - lastlong(a).no;
+ return lastlongD[b.no] - lastlongD[a.no];
}).map(function(post) {
return post.no;
});
diff --git a/builds/4chan-X-noupdate.crx b/builds/4chan-X-noupdate.crx
index 116eb8d47..725ada1e0 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 02fed2584..522cf8d7f 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.11.1
+// @version 1.13.11.2
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -153,7 +153,7 @@ docSet = function() {
};
g = {
- VERSION: '1.13.11.1',
+ VERSION: '1.13.11.2',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -10368,6 +10368,9 @@ Index = (function() {
return Index.parsedThreads[threadID].isHidden;
}
},
+ isHiddenReply: function(threadID, replyData) {
+ return PostHiding.isHidden(g.BOARD.ID, threadID, replyData.no) || Filter.isHidden(Build.parseJSON(replyData, g.BOARD.ID));
+ },
buildThreads: function(threadIDs, isCatalog) {
var ID, OP, err, errors, isStale, k, len1, newPosts, newThreads, obj, thread, threadData, threads;
threads = [];
@@ -10502,10 +10505,7 @@ Index = (function() {
replies = [];
for (k = 0, len1 = lastReplies.length; k < len1; k++) {
data = lastReplies[k];
- if (PostHiding.isHidden(g.BOARD.ID, thread.ID, data.no)) {
- continue;
- }
- if (Filter.isHidden(Build.parseJSON(data, g.BOARD.ID))) {
+ if (Index.isHiddenReply(thread.ID, data)) {
continue;
}
reply = Build.catalogReply(thread, data);
@@ -10520,12 +10520,13 @@ Index = (function() {
$.add(thread.OP.nodes.post, nodes.replies);
},
sort: function() {
- var lastlong, liveThreadData, liveThreadIDs, threadIDs;
+ var lastlong, lastlongD, liveThreadData, liveThreadIDs, thread, threadIDs;
liveThreadIDs = Index.liveThreadIDs, liveThreadData = Index.liveThreadData;
if (!liveThreadData) {
return;
}
Index.sortedThreadIDs = (function() {
+ var k, len1;
switch (Index.currentSort.replace(/-rev$/, '')) {
case 'lastreply':
return slice.call(liveThreadData).sort(function(a, b) {
@@ -10546,6 +10547,9 @@ Index = (function() {
ref = thread.last_replies || [];
for (i = k = ref.length - 1; k >= 0; i = k += -1) {
r = ref[i];
+ if (Index.isHiddenReply(thread.no, r)) {
+ continue;
+ }
len = r.com ? Build.parseComment(r.com).replace(/[^a-z]/ig, '').length : 0;
if (len >= Index.lastLongThresholds[+(!!r.ext)]) {
return r;
@@ -10557,8 +10561,13 @@ Index = (function() {
return thread;
}
};
+ lastlongD = {};
+ for (k = 0, len1 = liveThreadData.length; k < len1; k++) {
+ thread = liveThreadData[k];
+ lastlongD[thread.no] = lastlong(thread).no;
+ }
return slice.call(liveThreadData).sort(function(a, b) {
- return lastlong(b).no - lastlong(a).no;
+ return lastlongD[b.no] - lastlongD[a.no];
}).map(function(post) {
return post.no;
});
diff --git a/builds/4chan-X.crx b/builds/4chan-X.crx
index d8801bc9c..c28ad2b6f 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 d6a985a44..a12bbaae4 100644
--- a/builds/4chan-X.meta.js
+++ b/builds/4chan-X.meta.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
-// @version 1.13.11.1
+// @version 1.13.11.2
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js
index 74ae16a76..7d3cf9179 100644
--- a/builds/4chan-X.user.js
+++ b/builds/4chan-X.user.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
-// @version 1.13.11.1
+// @version 1.13.11.2
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -153,7 +153,7 @@ docSet = function() {
};
g = {
- VERSION: '1.13.11.1',
+ VERSION: '1.13.11.2',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -10368,6 +10368,9 @@ Index = (function() {
return Index.parsedThreads[threadID].isHidden;
}
},
+ isHiddenReply: function(threadID, replyData) {
+ return PostHiding.isHidden(g.BOARD.ID, threadID, replyData.no) || Filter.isHidden(Build.parseJSON(replyData, g.BOARD.ID));
+ },
buildThreads: function(threadIDs, isCatalog) {
var ID, OP, err, errors, isStale, k, len1, newPosts, newThreads, obj, thread, threadData, threads;
threads = [];
@@ -10502,10 +10505,7 @@ Index = (function() {
replies = [];
for (k = 0, len1 = lastReplies.length; k < len1; k++) {
data = lastReplies[k];
- if (PostHiding.isHidden(g.BOARD.ID, thread.ID, data.no)) {
- continue;
- }
- if (Filter.isHidden(Build.parseJSON(data, g.BOARD.ID))) {
+ if (Index.isHiddenReply(thread.ID, data)) {
continue;
}
reply = Build.catalogReply(thread, data);
@@ -10520,12 +10520,13 @@ Index = (function() {
$.add(thread.OP.nodes.post, nodes.replies);
},
sort: function() {
- var lastlong, liveThreadData, liveThreadIDs, threadIDs;
+ var lastlong, lastlongD, liveThreadData, liveThreadIDs, thread, threadIDs;
liveThreadIDs = Index.liveThreadIDs, liveThreadData = Index.liveThreadData;
if (!liveThreadData) {
return;
}
Index.sortedThreadIDs = (function() {
+ var k, len1;
switch (Index.currentSort.replace(/-rev$/, '')) {
case 'lastreply':
return slice.call(liveThreadData).sort(function(a, b) {
@@ -10546,6 +10547,9 @@ Index = (function() {
ref = thread.last_replies || [];
for (i = k = ref.length - 1; k >= 0; i = k += -1) {
r = ref[i];
+ if (Index.isHiddenReply(thread.no, r)) {
+ continue;
+ }
len = r.com ? Build.parseComment(r.com).replace(/[^a-z]/ig, '').length : 0;
if (len >= Index.lastLongThresholds[+(!!r.ext)]) {
return r;
@@ -10557,8 +10561,13 @@ Index = (function() {
return thread;
}
};
+ lastlongD = {};
+ for (k = 0, len1 = liveThreadData.length; k < len1; k++) {
+ thread = liveThreadData[k];
+ lastlongD[thread.no] = lastlong(thread).no;
+ }
return slice.call(liveThreadData).sort(function(a, b) {
- return lastlong(b).no - lastlong(a).no;
+ return lastlongD[b.no] - lastlongD[a.no];
}).map(function(post) {
return post.no;
});
diff --git a/builds/4chan-X.zip b/builds/4chan-X.zip
index 01a0d8d5d..e1b3a24f3 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 ac6dd0217..043967530 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 b087722d5..618a7c76c 100644
--- a/builds/updates.xml
+++ b/builds/updates.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/version.json b/version.json
index 81d9ca99a..f774847ce 100644
--- a/version.json
+++ b/version.json
@@ -1,4 +1,4 @@
{
- "version": "1.13.11.1",
- "date": "2017-08-10T13:42:33.033Z"
+ "version": "1.13.11.2",
+ "date": "2017-08-12T17:44:29.833Z"
}
\ No newline at end of file