Release 4chan X v1.14.17.0.
This commit is contained in:
parent
7926894a45
commit
27a980a388
@ -2,6 +2,12 @@
|
||||
|
||||
-Sometimes the changelog has notes (not comprehensive) acknowledging people's work. This does not mean the changes are their fault, only that their code was used. All changes to the script are chosen by and the fault of the maintainer (ccd0).
|
||||
|
||||
### v1.14.17
|
||||
|
||||
**v1.14.17.0** *(2020-04-01)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.17.0/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.17.0/builds/4chan-X-noupdate.crx)]
|
||||
- Based on v1.14.16.7.
|
||||
- Preliminary support for new Kissu UI.
|
||||
|
||||
### v1.14.16
|
||||
|
||||
**v1.14.16.7** *(2020-03-30)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.16.7/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.16.7/builds/4chan-X-noupdate.crx)]
|
||||
|
||||
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
// ==UserScript==
|
||||
// @name 4chan X beta
|
||||
// @version 1.14.16.7
|
||||
// @version 1.14.17.0
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
// ==UserScript==
|
||||
// @name 4chan X beta
|
||||
// @version 1.14.16.7
|
||||
// @version 1.14.17.0
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
@ -215,7 +215,7 @@ docSet = function() {
|
||||
};
|
||||
|
||||
g = {
|
||||
VERSION: '1.14.16.7',
|
||||
VERSION: '1.14.17.0',
|
||||
NAMESPACE: '4chan X.',
|
||||
sites: Object.create(null),
|
||||
boards: Object.create(null)
|
||||
@ -7777,6 +7777,20 @@ SW = {};
|
||||
}
|
||||
return false;
|
||||
},
|
||||
awaitBoard: function(cb) {
|
||||
var reactUI, s;
|
||||
if ((reactUI = $.id('react-ui'))) {
|
||||
s = this.selectors = Object.create(this.selectors);
|
||||
s.boardFor = {
|
||||
index: '.page-container'
|
||||
};
|
||||
s.thread = 'div[id^="thread_"]';
|
||||
s.threadDivider = 'page-container > hr';
|
||||
return Main.mounted(cb);
|
||||
} else {
|
||||
return cb();
|
||||
}
|
||||
},
|
||||
urls: {
|
||||
thread: function(arg, isArchived) {
|
||||
var boardID, ref, siteID, threadID;
|
||||
@ -7966,13 +7980,19 @@ SW = {};
|
||||
}
|
||||
},
|
||||
parseNodes: function(post, nodes) {
|
||||
var m, nextSibling, uniqueID;
|
||||
var m, nextSibling, node, text, uniqueID;
|
||||
if (nodes.uniqueID) {
|
||||
return;
|
||||
}
|
||||
nodes.info.normalize();
|
||||
nextSibling = nodes.nameBlock.nextSibling;
|
||||
if (nextSibling.nodeType === 3 && (m = nextSibling.textContent.match(/(\s*ID:\s*)(\S+)/))) {
|
||||
text = '';
|
||||
node = nodes.nameBlock.nextSibling;
|
||||
while (node && node.nodeType === 3) {
|
||||
text += node.textContent;
|
||||
node = node.nextSibling;
|
||||
}
|
||||
if ((m = text.match(/(\s*ID:\s*)(\S+)/))) {
|
||||
nodes.info.normalize();
|
||||
nextSibling = nodes.nameBlock.nextSibling;
|
||||
nextSibling = nextSibling.splitText(m[1].length);
|
||||
nextSibling.splitText(m[2].length);
|
||||
nodes.uniqueID = uniqueID = $.el('span', {
|
||||
@ -8003,7 +8023,7 @@ SW = {};
|
||||
if (!(infoNode = indexOf.call((ref = link.nextSibling) != null ? ref.textContent : void 0, '(') >= 0 ? link.nextSibling : link.nextElementSibling)) {
|
||||
return false;
|
||||
}
|
||||
if (!(info = infoNode.textContent.match(/\((.*,\s*)?([\d.]+ [KMG]?B).*\)/))) {
|
||||
if (!(info = infoNode.textContent.match(/\((.*,\s*)?([\d.]+ ?[KMG]?B).*\)/))) {
|
||||
return false;
|
||||
}
|
||||
nameNode = $('.postfilename', text);
|
||||
@ -27358,7 +27378,7 @@ Main = (function() {
|
||||
|
||||
Main = {
|
||||
init: function() {
|
||||
var db, flatten, i, items, j, k, key, len, ref, ref1, ref2, w;
|
||||
var db, flatten, i, items, j, k, key, len, mountedCB, ref, ref1, ref2, w;
|
||||
try {
|
||||
w = window;
|
||||
if ($.platform === 'crx') {
|
||||
@ -27403,6 +27423,21 @@ Main = (function() {
|
||||
return $.addClass(doc, 'tainted');
|
||||
}
|
||||
});
|
||||
mountedCB = function() {
|
||||
var cb, j, len, ref1, results;
|
||||
d.removeEventListener('mounted', mountedCB, true);
|
||||
Main.isMounted = true;
|
||||
ref1 = Main.mountedCBs;
|
||||
results = [];
|
||||
for (j = 0, len = ref1.length; j < len; j++) {
|
||||
cb = ref1[j];
|
||||
try {
|
||||
results.push(cb());
|
||||
} catch (error1) {}
|
||||
}
|
||||
return results;
|
||||
};
|
||||
d.addEventListener('mounted', mountedCB, true);
|
||||
flatten = function(parent, obj) {
|
||||
var key, val;
|
||||
if (obj instanceof Array) {
|
||||
@ -27775,16 +27810,20 @@ Main = (function() {
|
||||
if (g.VIEW === 'catalog') {
|
||||
return Main.initCatalog();
|
||||
} else if (!Index.enabled) {
|
||||
return Main.initThread();
|
||||
if (g.SITE.awaitBoard) {
|
||||
return g.SITE.awaitBoard(Main.initThread);
|
||||
} else {
|
||||
return Main.initThread();
|
||||
}
|
||||
} else {
|
||||
Main.expectInitFinished = true;
|
||||
return $.event('4chanXInitFinished');
|
||||
}
|
||||
},
|
||||
initThread: function() {
|
||||
var base, base1, board, errors, posts, s, threads;
|
||||
var base, base1, board, errors, posts, ref, s, threads;
|
||||
s = g.SITE.selectors;
|
||||
if ((board = $(s.board))) {
|
||||
if ((board = $(((ref = s.boardFor) != null ? ref[g.VIEW] : void 0) || s.board))) {
|
||||
threads = [];
|
||||
posts = [];
|
||||
errors = [];
|
||||
@ -27852,7 +27891,7 @@ Main = (function() {
|
||||
var err, j, len, postRoot;
|
||||
for (j = 0, len = postRoots.length; j < len; j++) {
|
||||
postRoot = postRoots[j];
|
||||
if (!postRoot.dataset.fullID && $(g.SITE.selectors.comment, postRoot)) {
|
||||
if (!(postRoot.dataset.fullID && g.posts.get(postRoot.dataset.fullID)) && $(g.SITE.selectors.comment, postRoot)) {
|
||||
try {
|
||||
posts.push(new Post(postRoot, thread, thread.board));
|
||||
} catch (error1) {
|
||||
@ -28136,6 +28175,14 @@ Main = (function() {
|
||||
}
|
||||
});
|
||||
},
|
||||
mounted: function(cb) {
|
||||
if (Main.isMounted) {
|
||||
return cb();
|
||||
} else {
|
||||
return Main.mountedCBs.push(cb);
|
||||
}
|
||||
},
|
||||
mountedCBs: [],
|
||||
features: [['Polyfill', Polyfill], ['Board Configuration', BoardConfig], ['Normalize URL', NormalizeURL], ['Delay Redirect on Post', PostRedirect], ['Captcha Configuration', Captcha.replace], ['Image Host Rewriting', ImageHost], ['Redirect', Redirect], ['Header', Header], ['Catalog Links', CatalogLinks], ['Settings', Settings], ['Index Generator', Index], ['Disable Autoplay', AntiAutoplay], ['Announcement Hiding', PSAHiding], ['Fourchan thingies', Fourchan], ['Tinyboard Glue', Tinyboard], ['Color User IDs', IDColor], ['Highlight by User ID', IDHighlight], ['Count Posts by ID', IDPostCount], ['Custom CSS', CustomCSS], ['Thread Links', ThreadLinks], ['Linkify', Linkify], ['Reveal Spoilers', RemoveSpoilers], ['Resurrect Quotes', Quotify], ['Filter', Filter], ['Thread Hiding Buttons', ThreadHiding], ['Reply Hiding Buttons', PostHiding], ['Recursive', Recursive], ['Strike-through Quotes', QuoteStrikeThrough], ['Captcha Solving Service', Captcha.service], ['Quick Reply Personas', QR.persona], ['Quick Reply', QR], ['Cooldown', QR.cooldown], ['Post Jumper', PostJumper], ['Pass Link', PassLink], ['Menu', Menu], ['Index Generator (Menu)', Index.menu], ['Report Link', ReportLink], ['Copy Text Link', CopyTextLink], ['Thread Hiding (Menu)', ThreadHiding.menu], ['Reply Hiding (Menu)', PostHiding.menu], ['Delete Link', DeleteLink], ['Filter (Menu)', Filter.menu], ['Edit Link', QR.oekaki.menu], ['Download Link', DownloadLink], ['Archive Link', ArchiveLink], ['Quote Inlining', QuoteInline], ['Quote Previewing', QuotePreview], ['Quote Backlinks', QuoteBacklink], ['Mark Quotes of You', QuoteYou], ['Mark OP Quotes', QuoteOP], ['Mark Cross-thread Quotes', QuoteCT], ['Anonymize', Anonymize], ['Time Formatting', Time], ['Relative Post Dates', RelativeDates], ['File Info Formatting', FileInfo], ['Fappe Tyme', FappeTyme], ['Gallery', Gallery], ['Gallery (menu)', Gallery.menu], ['Sauce', Sauce], ['Image Expansion', ImageExpand], ['Image Expansion (Menu)', ImageExpand.menu], ['Reveal Spoiler Thumbnails', RevealSpoilers], ['Image Loading', ImageLoader], ['Image Hover', ImageHover], ['Volume Control', Volume], ['WEBM Metadata', Metadata], ['Comment Expansion', ExpandComment], ['Thread Expansion', ExpandThread], ['Favicon', Favicon], ['Unread', Unread], ['Unread Line in Index', UnreadIndex], ['Quote Threading', QuoteThreading], ['Thread Stats', ThreadStats], ['Thread Updater', ThreadUpdater], ['Thread Watcher', ThreadWatcher], ['Thread Watcher (Menu)', ThreadWatcher.menu], ['Mark New IPs', MarkNewIPs], ['Index Navigation', Nav], ['Keybinds', Keybinds], ['Banner', Banner], ['Announcements', PSA], ['Flash Features', Flash], ['Reply Pruning', ReplyPruning], ['Mod Contact Links', ModContact]]
|
||||
};
|
||||
|
||||
|
||||
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
// ==UserScript==
|
||||
// @name 4chan X
|
||||
// @version 1.14.16.7
|
||||
// @version 1.14.17.0
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
@ -215,7 +215,7 @@ docSet = function() {
|
||||
};
|
||||
|
||||
g = {
|
||||
VERSION: '1.14.16.7',
|
||||
VERSION: '1.14.17.0',
|
||||
NAMESPACE: '4chan X.',
|
||||
sites: Object.create(null),
|
||||
boards: Object.create(null)
|
||||
@ -7777,6 +7777,20 @@ SW = {};
|
||||
}
|
||||
return false;
|
||||
},
|
||||
awaitBoard: function(cb) {
|
||||
var reactUI, s;
|
||||
if ((reactUI = $.id('react-ui'))) {
|
||||
s = this.selectors = Object.create(this.selectors);
|
||||
s.boardFor = {
|
||||
index: '.page-container'
|
||||
};
|
||||
s.thread = 'div[id^="thread_"]';
|
||||
s.threadDivider = 'page-container > hr';
|
||||
return Main.mounted(cb);
|
||||
} else {
|
||||
return cb();
|
||||
}
|
||||
},
|
||||
urls: {
|
||||
thread: function(arg, isArchived) {
|
||||
var boardID, ref, siteID, threadID;
|
||||
@ -7966,13 +7980,19 @@ SW = {};
|
||||
}
|
||||
},
|
||||
parseNodes: function(post, nodes) {
|
||||
var m, nextSibling, uniqueID;
|
||||
var m, nextSibling, node, text, uniqueID;
|
||||
if (nodes.uniqueID) {
|
||||
return;
|
||||
}
|
||||
nodes.info.normalize();
|
||||
nextSibling = nodes.nameBlock.nextSibling;
|
||||
if (nextSibling.nodeType === 3 && (m = nextSibling.textContent.match(/(\s*ID:\s*)(\S+)/))) {
|
||||
text = '';
|
||||
node = nodes.nameBlock.nextSibling;
|
||||
while (node && node.nodeType === 3) {
|
||||
text += node.textContent;
|
||||
node = node.nextSibling;
|
||||
}
|
||||
if ((m = text.match(/(\s*ID:\s*)(\S+)/))) {
|
||||
nodes.info.normalize();
|
||||
nextSibling = nodes.nameBlock.nextSibling;
|
||||
nextSibling = nextSibling.splitText(m[1].length);
|
||||
nextSibling.splitText(m[2].length);
|
||||
nodes.uniqueID = uniqueID = $.el('span', {
|
||||
@ -8003,7 +8023,7 @@ SW = {};
|
||||
if (!(infoNode = indexOf.call((ref = link.nextSibling) != null ? ref.textContent : void 0, '(') >= 0 ? link.nextSibling : link.nextElementSibling)) {
|
||||
return false;
|
||||
}
|
||||
if (!(info = infoNode.textContent.match(/\((.*,\s*)?([\d.]+ [KMG]?B).*\)/))) {
|
||||
if (!(info = infoNode.textContent.match(/\((.*,\s*)?([\d.]+ ?[KMG]?B).*\)/))) {
|
||||
return false;
|
||||
}
|
||||
nameNode = $('.postfilename', text);
|
||||
@ -27358,7 +27378,7 @@ Main = (function() {
|
||||
|
||||
Main = {
|
||||
init: function() {
|
||||
var db, flatten, i, items, j, k, key, len, ref, ref1, ref2, w;
|
||||
var db, flatten, i, items, j, k, key, len, mountedCB, ref, ref1, ref2, w;
|
||||
try {
|
||||
w = window;
|
||||
if ($.platform === 'crx') {
|
||||
@ -27403,6 +27423,21 @@ Main = (function() {
|
||||
return $.addClass(doc, 'tainted');
|
||||
}
|
||||
});
|
||||
mountedCB = function() {
|
||||
var cb, j, len, ref1, results;
|
||||
d.removeEventListener('mounted', mountedCB, true);
|
||||
Main.isMounted = true;
|
||||
ref1 = Main.mountedCBs;
|
||||
results = [];
|
||||
for (j = 0, len = ref1.length; j < len; j++) {
|
||||
cb = ref1[j];
|
||||
try {
|
||||
results.push(cb());
|
||||
} catch (error1) {}
|
||||
}
|
||||
return results;
|
||||
};
|
||||
d.addEventListener('mounted', mountedCB, true);
|
||||
flatten = function(parent, obj) {
|
||||
var key, val;
|
||||
if (obj instanceof Array) {
|
||||
@ -27775,16 +27810,20 @@ Main = (function() {
|
||||
if (g.VIEW === 'catalog') {
|
||||
return Main.initCatalog();
|
||||
} else if (!Index.enabled) {
|
||||
return Main.initThread();
|
||||
if (g.SITE.awaitBoard) {
|
||||
return g.SITE.awaitBoard(Main.initThread);
|
||||
} else {
|
||||
return Main.initThread();
|
||||
}
|
||||
} else {
|
||||
Main.expectInitFinished = true;
|
||||
return $.event('4chanXInitFinished');
|
||||
}
|
||||
},
|
||||
initThread: function() {
|
||||
var base, base1, board, errors, posts, s, threads;
|
||||
var base, base1, board, errors, posts, ref, s, threads;
|
||||
s = g.SITE.selectors;
|
||||
if ((board = $(s.board))) {
|
||||
if ((board = $(((ref = s.boardFor) != null ? ref[g.VIEW] : void 0) || s.board))) {
|
||||
threads = [];
|
||||
posts = [];
|
||||
errors = [];
|
||||
@ -27852,7 +27891,7 @@ Main = (function() {
|
||||
var err, j, len, postRoot;
|
||||
for (j = 0, len = postRoots.length; j < len; j++) {
|
||||
postRoot = postRoots[j];
|
||||
if (!postRoot.dataset.fullID && $(g.SITE.selectors.comment, postRoot)) {
|
||||
if (!(postRoot.dataset.fullID && g.posts.get(postRoot.dataset.fullID)) && $(g.SITE.selectors.comment, postRoot)) {
|
||||
try {
|
||||
posts.push(new Post(postRoot, thread, thread.board));
|
||||
} catch (error1) {
|
||||
@ -28136,6 +28175,14 @@ Main = (function() {
|
||||
}
|
||||
});
|
||||
},
|
||||
mounted: function(cb) {
|
||||
if (Main.isMounted) {
|
||||
return cb();
|
||||
} else {
|
||||
return Main.mountedCBs.push(cb);
|
||||
}
|
||||
},
|
||||
mountedCBs: [],
|
||||
features: [['Polyfill', Polyfill], ['Board Configuration', BoardConfig], ['Normalize URL', NormalizeURL], ['Delay Redirect on Post', PostRedirect], ['Captcha Configuration', Captcha.replace], ['Image Host Rewriting', ImageHost], ['Redirect', Redirect], ['Header', Header], ['Catalog Links', CatalogLinks], ['Settings', Settings], ['Index Generator', Index], ['Disable Autoplay', AntiAutoplay], ['Announcement Hiding', PSAHiding], ['Fourchan thingies', Fourchan], ['Tinyboard Glue', Tinyboard], ['Color User IDs', IDColor], ['Highlight by User ID', IDHighlight], ['Count Posts by ID', IDPostCount], ['Custom CSS', CustomCSS], ['Thread Links', ThreadLinks], ['Linkify', Linkify], ['Reveal Spoilers', RemoveSpoilers], ['Resurrect Quotes', Quotify], ['Filter', Filter], ['Thread Hiding Buttons', ThreadHiding], ['Reply Hiding Buttons', PostHiding], ['Recursive', Recursive], ['Strike-through Quotes', QuoteStrikeThrough], ['Captcha Solving Service', Captcha.service], ['Quick Reply Personas', QR.persona], ['Quick Reply', QR], ['Cooldown', QR.cooldown], ['Post Jumper', PostJumper], ['Pass Link', PassLink], ['Menu', Menu], ['Index Generator (Menu)', Index.menu], ['Report Link', ReportLink], ['Copy Text Link', CopyTextLink], ['Thread Hiding (Menu)', ThreadHiding.menu], ['Reply Hiding (Menu)', PostHiding.menu], ['Delete Link', DeleteLink], ['Filter (Menu)', Filter.menu], ['Edit Link', QR.oekaki.menu], ['Download Link', DownloadLink], ['Archive Link', ArchiveLink], ['Quote Inlining', QuoteInline], ['Quote Previewing', QuotePreview], ['Quote Backlinks', QuoteBacklink], ['Mark Quotes of You', QuoteYou], ['Mark OP Quotes', QuoteOP], ['Mark Cross-thread Quotes', QuoteCT], ['Anonymize', Anonymize], ['Time Formatting', Time], ['Relative Post Dates', RelativeDates], ['File Info Formatting', FileInfo], ['Fappe Tyme', FappeTyme], ['Gallery', Gallery], ['Gallery (menu)', Gallery.menu], ['Sauce', Sauce], ['Image Expansion', ImageExpand], ['Image Expansion (Menu)', ImageExpand.menu], ['Reveal Spoiler Thumbnails', RevealSpoilers], ['Image Loading', ImageLoader], ['Image Hover', ImageHover], ['Volume Control', Volume], ['WEBM Metadata', Metadata], ['Comment Expansion', ExpandComment], ['Thread Expansion', ExpandThread], ['Favicon', Favicon], ['Unread', Unread], ['Unread Line in Index', UnreadIndex], ['Quote Threading', QuoteThreading], ['Thread Stats', ThreadStats], ['Thread Updater', ThreadUpdater], ['Thread Watcher', ThreadWatcher], ['Thread Watcher (Menu)', ThreadWatcher.menu], ['Mark New IPs', MarkNewIPs], ['Index Navigation', Nav], ['Keybinds', Keybinds], ['Banner', Banner], ['Announcements', PSA], ['Flash Features', Flash], ['Reply Pruning', ReplyPruning], ['Mod Contact Links', ModContact]]
|
||||
};
|
||||
|
||||
|
||||
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
// ==UserScript==
|
||||
// @name 4chan X
|
||||
// @version 1.14.16.7
|
||||
// @version 1.14.17.0
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
// ==UserScript==
|
||||
// @name 4chan X
|
||||
// @version 1.14.16.7
|
||||
// @version 1.14.17.0
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
@ -215,7 +215,7 @@ docSet = function() {
|
||||
};
|
||||
|
||||
g = {
|
||||
VERSION: '1.14.16.7',
|
||||
VERSION: '1.14.17.0',
|
||||
NAMESPACE: '4chan X.',
|
||||
sites: Object.create(null),
|
||||
boards: Object.create(null)
|
||||
@ -7777,6 +7777,20 @@ SW = {};
|
||||
}
|
||||
return false;
|
||||
},
|
||||
awaitBoard: function(cb) {
|
||||
var reactUI, s;
|
||||
if ((reactUI = $.id('react-ui'))) {
|
||||
s = this.selectors = Object.create(this.selectors);
|
||||
s.boardFor = {
|
||||
index: '.page-container'
|
||||
};
|
||||
s.thread = 'div[id^="thread_"]';
|
||||
s.threadDivider = 'page-container > hr';
|
||||
return Main.mounted(cb);
|
||||
} else {
|
||||
return cb();
|
||||
}
|
||||
},
|
||||
urls: {
|
||||
thread: function(arg, isArchived) {
|
||||
var boardID, ref, siteID, threadID;
|
||||
@ -7966,13 +7980,19 @@ SW = {};
|
||||
}
|
||||
},
|
||||
parseNodes: function(post, nodes) {
|
||||
var m, nextSibling, uniqueID;
|
||||
var m, nextSibling, node, text, uniqueID;
|
||||
if (nodes.uniqueID) {
|
||||
return;
|
||||
}
|
||||
nodes.info.normalize();
|
||||
nextSibling = nodes.nameBlock.nextSibling;
|
||||
if (nextSibling.nodeType === 3 && (m = nextSibling.textContent.match(/(\s*ID:\s*)(\S+)/))) {
|
||||
text = '';
|
||||
node = nodes.nameBlock.nextSibling;
|
||||
while (node && node.nodeType === 3) {
|
||||
text += node.textContent;
|
||||
node = node.nextSibling;
|
||||
}
|
||||
if ((m = text.match(/(\s*ID:\s*)(\S+)/))) {
|
||||
nodes.info.normalize();
|
||||
nextSibling = nodes.nameBlock.nextSibling;
|
||||
nextSibling = nextSibling.splitText(m[1].length);
|
||||
nextSibling.splitText(m[2].length);
|
||||
nodes.uniqueID = uniqueID = $.el('span', {
|
||||
@ -8003,7 +8023,7 @@ SW = {};
|
||||
if (!(infoNode = indexOf.call((ref = link.nextSibling) != null ? ref.textContent : void 0, '(') >= 0 ? link.nextSibling : link.nextElementSibling)) {
|
||||
return false;
|
||||
}
|
||||
if (!(info = infoNode.textContent.match(/\((.*,\s*)?([\d.]+ [KMG]?B).*\)/))) {
|
||||
if (!(info = infoNode.textContent.match(/\((.*,\s*)?([\d.]+ ?[KMG]?B).*\)/))) {
|
||||
return false;
|
||||
}
|
||||
nameNode = $('.postfilename', text);
|
||||
@ -27358,7 +27378,7 @@ Main = (function() {
|
||||
|
||||
Main = {
|
||||
init: function() {
|
||||
var db, flatten, i, items, j, k, key, len, ref, ref1, ref2, w;
|
||||
var db, flatten, i, items, j, k, key, len, mountedCB, ref, ref1, ref2, w;
|
||||
try {
|
||||
w = window;
|
||||
if ($.platform === 'crx') {
|
||||
@ -27403,6 +27423,21 @@ Main = (function() {
|
||||
return $.addClass(doc, 'tainted');
|
||||
}
|
||||
});
|
||||
mountedCB = function() {
|
||||
var cb, j, len, ref1, results;
|
||||
d.removeEventListener('mounted', mountedCB, true);
|
||||
Main.isMounted = true;
|
||||
ref1 = Main.mountedCBs;
|
||||
results = [];
|
||||
for (j = 0, len = ref1.length; j < len; j++) {
|
||||
cb = ref1[j];
|
||||
try {
|
||||
results.push(cb());
|
||||
} catch (error1) {}
|
||||
}
|
||||
return results;
|
||||
};
|
||||
d.addEventListener('mounted', mountedCB, true);
|
||||
flatten = function(parent, obj) {
|
||||
var key, val;
|
||||
if (obj instanceof Array) {
|
||||
@ -27775,16 +27810,20 @@ Main = (function() {
|
||||
if (g.VIEW === 'catalog') {
|
||||
return Main.initCatalog();
|
||||
} else if (!Index.enabled) {
|
||||
return Main.initThread();
|
||||
if (g.SITE.awaitBoard) {
|
||||
return g.SITE.awaitBoard(Main.initThread);
|
||||
} else {
|
||||
return Main.initThread();
|
||||
}
|
||||
} else {
|
||||
Main.expectInitFinished = true;
|
||||
return $.event('4chanXInitFinished');
|
||||
}
|
||||
},
|
||||
initThread: function() {
|
||||
var base, base1, board, errors, posts, s, threads;
|
||||
var base, base1, board, errors, posts, ref, s, threads;
|
||||
s = g.SITE.selectors;
|
||||
if ((board = $(s.board))) {
|
||||
if ((board = $(((ref = s.boardFor) != null ? ref[g.VIEW] : void 0) || s.board))) {
|
||||
threads = [];
|
||||
posts = [];
|
||||
errors = [];
|
||||
@ -27852,7 +27891,7 @@ Main = (function() {
|
||||
var err, j, len, postRoot;
|
||||
for (j = 0, len = postRoots.length; j < len; j++) {
|
||||
postRoot = postRoots[j];
|
||||
if (!postRoot.dataset.fullID && $(g.SITE.selectors.comment, postRoot)) {
|
||||
if (!(postRoot.dataset.fullID && g.posts.get(postRoot.dataset.fullID)) && $(g.SITE.selectors.comment, postRoot)) {
|
||||
try {
|
||||
posts.push(new Post(postRoot, thread, thread.board));
|
||||
} catch (error1) {
|
||||
@ -28136,6 +28175,14 @@ Main = (function() {
|
||||
}
|
||||
});
|
||||
},
|
||||
mounted: function(cb) {
|
||||
if (Main.isMounted) {
|
||||
return cb();
|
||||
} else {
|
||||
return Main.mountedCBs.push(cb);
|
||||
}
|
||||
},
|
||||
mountedCBs: [],
|
||||
features: [['Polyfill', Polyfill], ['Board Configuration', BoardConfig], ['Normalize URL', NormalizeURL], ['Delay Redirect on Post', PostRedirect], ['Captcha Configuration', Captcha.replace], ['Image Host Rewriting', ImageHost], ['Redirect', Redirect], ['Header', Header], ['Catalog Links', CatalogLinks], ['Settings', Settings], ['Index Generator', Index], ['Disable Autoplay', AntiAutoplay], ['Announcement Hiding', PSAHiding], ['Fourchan thingies', Fourchan], ['Tinyboard Glue', Tinyboard], ['Color User IDs', IDColor], ['Highlight by User ID', IDHighlight], ['Count Posts by ID', IDPostCount], ['Custom CSS', CustomCSS], ['Thread Links', ThreadLinks], ['Linkify', Linkify], ['Reveal Spoilers', RemoveSpoilers], ['Resurrect Quotes', Quotify], ['Filter', Filter], ['Thread Hiding Buttons', ThreadHiding], ['Reply Hiding Buttons', PostHiding], ['Recursive', Recursive], ['Strike-through Quotes', QuoteStrikeThrough], ['Captcha Solving Service', Captcha.service], ['Quick Reply Personas', QR.persona], ['Quick Reply', QR], ['Cooldown', QR.cooldown], ['Post Jumper', PostJumper], ['Pass Link', PassLink], ['Menu', Menu], ['Index Generator (Menu)', Index.menu], ['Report Link', ReportLink], ['Copy Text Link', CopyTextLink], ['Thread Hiding (Menu)', ThreadHiding.menu], ['Reply Hiding (Menu)', PostHiding.menu], ['Delete Link', DeleteLink], ['Filter (Menu)', Filter.menu], ['Edit Link', QR.oekaki.menu], ['Download Link', DownloadLink], ['Archive Link', ArchiveLink], ['Quote Inlining', QuoteInline], ['Quote Previewing', QuotePreview], ['Quote Backlinks', QuoteBacklink], ['Mark Quotes of You', QuoteYou], ['Mark OP Quotes', QuoteOP], ['Mark Cross-thread Quotes', QuoteCT], ['Anonymize', Anonymize], ['Time Formatting', Time], ['Relative Post Dates', RelativeDates], ['File Info Formatting', FileInfo], ['Fappe Tyme', FappeTyme], ['Gallery', Gallery], ['Gallery (menu)', Gallery.menu], ['Sauce', Sauce], ['Image Expansion', ImageExpand], ['Image Expansion (Menu)', ImageExpand.menu], ['Reveal Spoiler Thumbnails', RevealSpoilers], ['Image Loading', ImageLoader], ['Image Hover', ImageHover], ['Volume Control', Volume], ['WEBM Metadata', Metadata], ['Comment Expansion', ExpandComment], ['Thread Expansion', ExpandThread], ['Favicon', Favicon], ['Unread', Unread], ['Unread Line in Index', UnreadIndex], ['Quote Threading', QuoteThreading], ['Thread Stats', ThreadStats], ['Thread Updater', ThreadUpdater], ['Thread Watcher', ThreadWatcher], ['Thread Watcher (Menu)', ThreadWatcher.menu], ['Mark New IPs', MarkNewIPs], ['Index Navigation', Nav], ['Keybinds', Keybinds], ['Banner', Banner], ['Announcements', PSA], ['Flash Features', Flash], ['Reply Pruning', ReplyPruning], ['Mod Contact Links', ModContact]]
|
||||
};
|
||||
|
||||
|
||||
Binary file not shown.
@ -3,7 +3,7 @@
|
||||
"4chan-x@4chan-x.net": {
|
||||
"updates": [
|
||||
{
|
||||
"version": "1.14.16.7",
|
||||
"version": "1.14.17.0",
|
||||
"update_link": "https://www.4chan-x.net/builds/4chan-X-beta.crx"
|
||||
}
|
||||
]
|
||||
|
||||
@ -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.16.7' />
|
||||
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X-beta.crx' version='1.14.17.0' />
|
||||
</app>
|
||||
</gupdate>
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
"4chan-x@4chan-x.net": {
|
||||
"updates": [
|
||||
{
|
||||
"version": "1.14.16.7",
|
||||
"version": "1.14.17.0",
|
||||
"update_link": "https://www.4chan-x.net/builds/4chan-X.crx"
|
||||
}
|
||||
]
|
||||
|
||||
@ -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.16.7' />
|
||||
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X.crx' version='1.14.17.0' />
|
||||
</app>
|
||||
</gupdate>
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
{
|
||||
"version": "1.14.16.7",
|
||||
"date": "2020-03-30T03:52:30.159Z"
|
||||
"version": "1.14.17.0",
|
||||
"date": "2020-04-01T11:47:10.349Z"
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user