Release 4chan X v1.11.7.0.

This commit is contained in:
ccd0 2015-08-02 13:44:00 -07:00
parent 8f45172cae
commit 8a030b78e5
13 changed files with 157 additions and 75 deletions

View File

@ -2,6 +2,13 @@
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). 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.11.7
**v1.11.7.0** *(2015-08-02)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.7.0/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.7.0/builds/4chan-X-noupdate.crx "Chromium version")]
- Based on v1.11.6.0.
- Turn `Custom Board Navigation` off by default. To turn it back on, check `Header` > `Custom board navigation` in the header menu.
- Experimental MS Edge support via https://github.com/ccd0/4chan-x-proxy.
### v1.11.6 ### v1.11.6
**v1.11.6.0** *(2015-07-19)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.6.0/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.6.0/builds/4chan-X-noupdate.crx "Chromium version")] **v1.11.6.0** *(2015-07-19)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.6.0/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.6.0/builds/4chan-X-noupdate.crx "Chromium version")]

Binary file not shown.

View File

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

View File

@ -1,7 +1,7 @@
// Generated by CoffeeScript // Generated by CoffeeScript
// ==UserScript== // ==UserScript==
// @name 4chan X beta // @name 4chan X beta
// @version 1.11.6.0 // @version 1.11.7.0
// @minGMVer 1.14 // @minGMVer 1.14
// @minFFVer 26 // @minFFVer 26
// @namespace 4chan-X // @namespace 4chan-X
@ -300,7 +300,7 @@
tripcode: "# Filter any tripfag\n#/^!/", tripcode: "# Filter any tripfag\n#/^!/",
capcode: "# Set a custom class for mods:\n#/Mod$/;highlight:mod;op:yes\n# Set a custom class for moot:\n#/Admin$/;highlight:moot;op:yes", capcode: "# Set a custom class for mods:\n#/Mod$/;highlight:mod;op:yes\n# Set a custom class for moot:\n#/Admin$/;highlight:moot;op:yes",
subject: "# Filter Generals on /v/:\n#/general/i;boards:v;op:only", subject: "# Filter Generals on /v/:\n#/general/i;boards:v;op:only",
comment: "# Filter Stallman copypasta on /g/:\n#/what you\'re refer+ing to as linux/i;boards:g\n# Filter posts with 20 or more quote links:\n#/(?:>>\\d(?:(?!>>\\d)[^])*){20}/", comment: "# Filter Stallman copypasta on /g/:\n#/what you\'re refer+ing to as linux/i;boards:g\n# Filter posts with 20 or more quote links:\n#/(?:>>\\d(?:(?!>>\\d)[^])*){20}/\n# Filter posts like T H I S / H / I / S:\n#/^>?\\s?\\w\\s?(\\w)\\s?(\\w)\\s?(\\w).*$[\\s>]+\\1[\\s>]+\\2[\\s>]+\\3/im",
flag: '', flag: '',
filename: '', filename: '',
dimensions: "# Highlight potential wallpapers:\n#/1920x1080/;op:yes;highlight;top:no;boards:w,wg", dimensions: "# Highlight potential wallpapers:\n#/1920x1080/;op:yes;highlight;top:no;boards:w,wg",
@ -331,7 +331,7 @@
'Header catalog links': false, 'Header catalog links': false,
'Bottom Board List': true, 'Bottom Board List': true,
'Shortcut Icons': true, 'Shortcut Icons': true,
'Custom Board Navigation': true 'Custom Board Navigation': false
}, },
boardnav: "[ toggle-all ]\na-replace\nc-replace\ng-replace\nk-replace\nv-replace\nvg-replace\nvr-replace\nck-replace\nco-replace\nfit-replace\njp-replace\nmu-replace\nsp-replace\ntv-replace\nvp-replace\n[external-text:\"FAQ\",\"https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions\"]", boardnav: "[ toggle-all ]\na-replace\nc-replace\ng-replace\nk-replace\nv-replace\nvg-replace\nvr-replace\nck-replace\nco-replace\nfit-replace\njp-replace\nmu-replace\nsp-replace\ntv-replace\nvp-replace\n[external-text:\"FAQ\",\"https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions\"]",
QR: { QR: {
@ -411,7 +411,7 @@
doc = d.documentElement; doc = d.documentElement;
g = { g = {
VERSION: '1.11.6.0', VERSION: '1.11.7.0',
NAMESPACE: '4chan X.', NAMESPACE: '4chan X.',
boards: {} boards: {}
}; };
@ -631,6 +631,14 @@
if (el = $(selector, root)) { if (el = $(selector, root)) {
return cb(el); return cb(el);
} }
if ($.engine === 'edge' && d.readyState === 'loading') {
$.asap((function() {
return d.readyState !== 'loading' || $(selector, root);
}), function() {
return $.onExists(root, selector, subtree, cb);
});
return;
}
observer = new MutationObserver(function() { observer = new MutationObserver(function() {
if (el = $(selector, root)) { if (el = $(selector, root)) {
observer.disconnect(); observer.disconnect();
@ -696,7 +704,7 @@
}; };
$.rm = function(el) { $.rm = function(el) {
return el.remove(); return el != null ? el.remove() : void 0;
}; };
$.rmAll = function(root) { $.rmAll = function(root) {
@ -872,6 +880,9 @@
}; };
$.engine = (function() { $.engine = (function() {
if (/Edge\//.test(navigator.userAgent)) {
return 'edge';
}
if (/Chrome\//.test(navigator.userAgent)) { if (/Chrome\//.test(navigator.userAgent)) {
return 'blink'; return 'blink';
} }
@ -1313,9 +1324,19 @@
quote: $('.postNum > a:nth-of-type(2)', info), quote: $('.postNum > a:nth-of-type(2)', info),
comment: $('.postMessage', post), comment: $('.postMessage', post),
links: [], links: [],
quotelinks: [], quotelinks: []
backlinks: info.getElementsByClassName('backlink')
}; };
if ($.engine === 'edge') {
Object.defineProperty(this.nodes, 'backlinks', {
configurable: true,
enumerable: true,
get: function() {
return info.getElementsByClassName('backlink');
}
});
} else {
this.nodes.backlinks = info.getElementsByClassName('backlink');
}
if (!(this.isReply = $.hasClass(post, 'reply'))) { if (!(this.isReply = $.hasClass(post, 'reply'))) {
this.thread.OP = this; this.thread.OP = this;
this.thread.isArchived = !!$('.archivedIcon', info); this.thread.isArchived = !!$('.archivedIcon', info);
@ -1605,9 +1626,19 @@
nameBlock: $('.nameBlock', info), nameBlock: $('.nameBlock', info),
quote: $('.postNum > a:nth-of-type(2)', info), quote: $('.postNum > a:nth-of-type(2)', info),
comment: $('.postMessage', post), comment: $('.postMessage', post),
quotelinks: [], quotelinks: []
backlinks: info.getElementsByClassName('backlink')
}; };
if ($.engine === 'edge') {
Object.defineProperty(this.nodes, 'backlinks', {
configurable: true,
enumerable: true,
get: function() {
return info.getElementsByClassName('backlink');
}
});
} else {
this.nodes.backlinks = info.getElementsByClassName('backlink');
}
ref1 = $$('.inline', post); ref1 = $$('.inline', post);
for (q = 0, len2 = ref1.length; q < len2; q++) { for (q = 0, len2 = ref1.length; q < len2; q++) {
inline = ref1[q]; inline = ref1[q];
@ -3211,7 +3242,7 @@
$.asap((function() { $.asap((function() {
return $('.board > .thread > .postContainer', doc) || d.readyState !== 'loading'; return $('.board > .thread > .postContainer', doc) || d.readyState !== 'loading';
}), function() { }), function() {
var board, el, len3, len4, ref6, ref7, ref8, threadRoot, topNavPos, u, v; var board, el, len3, len4, ref6, ref7, threadRoot, topNavPos, u, v;
if (!Main.isThisPageLegit()) { if (!Main.isThisPageLegit()) {
return; return;
} }
@ -3232,9 +3263,7 @@
el = ref7[v]; el = ref7[v];
$.rm(el); $.rm(el);
} }
if ((ref8 = $.id('search-box')) != null) { $.rm($.id('ctrl-top'));
ref8.parentNode.remove();
}
topNavPos = $.id('delform').previousElementSibling; topNavPos = $.id('delform').previousElementSibling;
$.before(topNavPos, $.el('hr')); $.before(topNavPos, $.el('hr'));
return $.before(topNavPos, Index.navLinks); return $.before(topNavPos, Index.navLinks);
@ -8049,13 +8078,9 @@
if (!this.isEnabled) { if (!this.isEnabled) {
return; return;
} }
if (this.nodes.img) { $.rm(this.nodes.img);
$.rm(this.nodes.img);
}
delete this.nodes.img; delete this.nodes.img;
if (this.nodes.iframe) { $.rm(this.nodes.iframe);
$.rm(this.nodes.iframe);
}
delete this.nodes.iframe; delete this.nodes.iframe;
delete this.occupied; delete this.occupied;
return this.beforeSetup(); return this.beforeSetup();
@ -9330,7 +9355,7 @@
if (!(node = QR.nodes[name])) { if (!(node = QR.nodes[name])) {
continue; continue;
} }
node.value = this[name] || node.dataset["default"] || null; node.value = this[name] || node.dataset["default"] || '';
} }
(this.thread !== 'new' ? $.addClass : $.rmClass)(QR.nodes.el, 'reply-to-thread'); (this.thread !== 'new' ? $.addClass : $.rmClass)(QR.nodes.el, 'reply-to-thread');
this.showFileData(); this.showFileData();
@ -10568,9 +10593,7 @@
} }
$.rmClass(post.nodes.root, 'expanded-image'); $.rmClass(post.nodes.root, 'expanded-image');
$.rmClass(file.thumb, 'expanding'); $.rmClass(file.thumb, 'expanding');
if (file.videoControls) { $.rm(file.videoControls);
$.rm(file.videoControls);
}
file.thumb.parentNode.href = file.url; file.thumb.parentNode.href = file.url;
file.thumb.parentNode.target = '_blank'; file.thumb.parentNode.target = '_blank';
ref = ['isExpanding', 'isExpanded', 'videoControls', 'wasPlaying', 'scrollIntoView']; ref = ['isExpanding', 'isExpanded', 'videoControls', 'wasPlaying', 'scrollIntoView'];
@ -18312,6 +18335,7 @@
" flex: auto;\n" + " flex: auto;\n" +
" display: -webkit-flex;\n" + " display: -webkit-flex;\n" +
" display: flex;\n" + " display: flex;\n" +
" width: 0px; /* XXX Fixes Edge not shrinking the board list below default size when needed */\n" +
" }\n" + " }\n" +
" :root.fixed:not(.centered-links) #full-board-list > .boardList > a,\n" + " :root.fixed:not(.centered-links) #full-board-list > .boardList > a,\n" +
" :root.fixed:not(.centered-links) #full-board-list > .boardList > span:not(.space):not(.spacer) {\n" + " :root.fixed:not(.centered-links) #full-board-list > .boardList > span:not(.space):not(.spacer) {\n" +
@ -19316,6 +19340,7 @@
".has-file #qr-filename {\n" + ".has-file #qr-filename {\n" +
" -webkit-flex: 1 1 auto;\n" + " -webkit-flex: 1 1 auto;\n" +
" flex: 1 1 auto;\n" + " flex: 1 1 auto;\n" +
" width: 0px; /* XXX Fixes filename not shrinking to allow space for buttons in Edge */\n" +
" display: inline-block;\n" + " display: inline-block;\n" +
" padding: 0;\n" + " padding: 0;\n" +
" padding-left: 3px;\n" + " padding-left: 3px;\n" +

Binary file not shown.

View File

@ -1,7 +1,7 @@
// Generated by CoffeeScript // Generated by CoffeeScript
// ==UserScript== // ==UserScript==
// @name 4chan X // @name 4chan X
// @version 1.11.6.0 // @version 1.11.7.0
// @minGMVer 1.14 // @minGMVer 1.14
// @minFFVer 26 // @minFFVer 26
// @namespace 4chan-X // @namespace 4chan-X
@ -299,7 +299,7 @@
tripcode: "# Filter any tripfag\n#/^!/", tripcode: "# Filter any tripfag\n#/^!/",
capcode: "# Set a custom class for mods:\n#/Mod$/;highlight:mod;op:yes\n# Set a custom class for moot:\n#/Admin$/;highlight:moot;op:yes", capcode: "# Set a custom class for mods:\n#/Mod$/;highlight:mod;op:yes\n# Set a custom class for moot:\n#/Admin$/;highlight:moot;op:yes",
subject: "# Filter Generals on /v/:\n#/general/i;boards:v;op:only", subject: "# Filter Generals on /v/:\n#/general/i;boards:v;op:only",
comment: "# Filter Stallman copypasta on /g/:\n#/what you\'re refer+ing to as linux/i;boards:g\n# Filter posts with 20 or more quote links:\n#/(?:>>\\d(?:(?!>>\\d)[^])*){20}/", comment: "# Filter Stallman copypasta on /g/:\n#/what you\'re refer+ing to as linux/i;boards:g\n# Filter posts with 20 or more quote links:\n#/(?:>>\\d(?:(?!>>\\d)[^])*){20}/\n# Filter posts like T H I S / H / I / S:\n#/^>?\\s?\\w\\s?(\\w)\\s?(\\w)\\s?(\\w).*$[\\s>]+\\1[\\s>]+\\2[\\s>]+\\3/im",
flag: '', flag: '',
filename: '', filename: '',
dimensions: "# Highlight potential wallpapers:\n#/1920x1080/;op:yes;highlight;top:no;boards:w,wg", dimensions: "# Highlight potential wallpapers:\n#/1920x1080/;op:yes;highlight;top:no;boards:w,wg",
@ -330,7 +330,7 @@
'Header catalog links': false, 'Header catalog links': false,
'Bottom Board List': true, 'Bottom Board List': true,
'Shortcut Icons': true, 'Shortcut Icons': true,
'Custom Board Navigation': true 'Custom Board Navigation': false
}, },
boardnav: "[ toggle-all ]\na-replace\nc-replace\ng-replace\nk-replace\nv-replace\nvg-replace\nvr-replace\nck-replace\nco-replace\nfit-replace\njp-replace\nmu-replace\nsp-replace\ntv-replace\nvp-replace\n[external-text:\"FAQ\",\"https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions\"]", boardnav: "[ toggle-all ]\na-replace\nc-replace\ng-replace\nk-replace\nv-replace\nvg-replace\nvr-replace\nck-replace\nco-replace\nfit-replace\njp-replace\nmu-replace\nsp-replace\ntv-replace\nvp-replace\n[external-text:\"FAQ\",\"https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions\"]",
QR: { QR: {
@ -410,7 +410,7 @@
doc = d.documentElement; doc = d.documentElement;
g = { g = {
VERSION: '1.11.6.0', VERSION: '1.11.7.0',
NAMESPACE: '4chan X.', NAMESPACE: '4chan X.',
boards: {} boards: {}
}; };
@ -630,6 +630,14 @@
if (el = $(selector, root)) { if (el = $(selector, root)) {
return cb(el); return cb(el);
} }
if ($.engine === 'edge' && d.readyState === 'loading') {
$.asap((function() {
return d.readyState !== 'loading' || $(selector, root);
}), function() {
return $.onExists(root, selector, subtree, cb);
});
return;
}
observer = new MutationObserver(function() { observer = new MutationObserver(function() {
if (el = $(selector, root)) { if (el = $(selector, root)) {
observer.disconnect(); observer.disconnect();
@ -695,7 +703,7 @@
}; };
$.rm = function(el) { $.rm = function(el) {
return el.remove(); return el != null ? el.remove() : void 0;
}; };
$.rmAll = function(root) { $.rmAll = function(root) {
@ -871,6 +879,9 @@
}; };
$.engine = (function() { $.engine = (function() {
if (/Edge\//.test(navigator.userAgent)) {
return 'edge';
}
if (/Chrome\//.test(navigator.userAgent)) { if (/Chrome\//.test(navigator.userAgent)) {
return 'blink'; return 'blink';
} }
@ -1312,9 +1323,19 @@
quote: $('.postNum > a:nth-of-type(2)', info), quote: $('.postNum > a:nth-of-type(2)', info),
comment: $('.postMessage', post), comment: $('.postMessage', post),
links: [], links: [],
quotelinks: [], quotelinks: []
backlinks: info.getElementsByClassName('backlink')
}; };
if ($.engine === 'edge') {
Object.defineProperty(this.nodes, 'backlinks', {
configurable: true,
enumerable: true,
get: function() {
return info.getElementsByClassName('backlink');
}
});
} else {
this.nodes.backlinks = info.getElementsByClassName('backlink');
}
if (!(this.isReply = $.hasClass(post, 'reply'))) { if (!(this.isReply = $.hasClass(post, 'reply'))) {
this.thread.OP = this; this.thread.OP = this;
this.thread.isArchived = !!$('.archivedIcon', info); this.thread.isArchived = !!$('.archivedIcon', info);
@ -1604,9 +1625,19 @@
nameBlock: $('.nameBlock', info), nameBlock: $('.nameBlock', info),
quote: $('.postNum > a:nth-of-type(2)', info), quote: $('.postNum > a:nth-of-type(2)', info),
comment: $('.postMessage', post), comment: $('.postMessage', post),
quotelinks: [], quotelinks: []
backlinks: info.getElementsByClassName('backlink')
}; };
if ($.engine === 'edge') {
Object.defineProperty(this.nodes, 'backlinks', {
configurable: true,
enumerable: true,
get: function() {
return info.getElementsByClassName('backlink');
}
});
} else {
this.nodes.backlinks = info.getElementsByClassName('backlink');
}
ref1 = $$('.inline', post); ref1 = $$('.inline', post);
for (q = 0, len2 = ref1.length; q < len2; q++) { for (q = 0, len2 = ref1.length; q < len2; q++) {
inline = ref1[q]; inline = ref1[q];
@ -3210,7 +3241,7 @@
$.asap((function() { $.asap((function() {
return $('.board > .thread > .postContainer', doc) || d.readyState !== 'loading'; return $('.board > .thread > .postContainer', doc) || d.readyState !== 'loading';
}), function() { }), function() {
var board, el, len3, len4, ref6, ref7, ref8, threadRoot, topNavPos, u, v; var board, el, len3, len4, ref6, ref7, threadRoot, topNavPos, u, v;
if (!Main.isThisPageLegit()) { if (!Main.isThisPageLegit()) {
return; return;
} }
@ -3231,9 +3262,7 @@
el = ref7[v]; el = ref7[v];
$.rm(el); $.rm(el);
} }
if ((ref8 = $.id('search-box')) != null) { $.rm($.id('ctrl-top'));
ref8.parentNode.remove();
}
topNavPos = $.id('delform').previousElementSibling; topNavPos = $.id('delform').previousElementSibling;
$.before(topNavPos, $.el('hr')); $.before(topNavPos, $.el('hr'));
return $.before(topNavPos, Index.navLinks); return $.before(topNavPos, Index.navLinks);
@ -8048,13 +8077,9 @@
if (!this.isEnabled) { if (!this.isEnabled) {
return; return;
} }
if (this.nodes.img) { $.rm(this.nodes.img);
$.rm(this.nodes.img);
}
delete this.nodes.img; delete this.nodes.img;
if (this.nodes.iframe) { $.rm(this.nodes.iframe);
$.rm(this.nodes.iframe);
}
delete this.nodes.iframe; delete this.nodes.iframe;
delete this.occupied; delete this.occupied;
return this.beforeSetup(); return this.beforeSetup();
@ -9329,7 +9354,7 @@
if (!(node = QR.nodes[name])) { if (!(node = QR.nodes[name])) {
continue; continue;
} }
node.value = this[name] || node.dataset["default"] || null; node.value = this[name] || node.dataset["default"] || '';
} }
(this.thread !== 'new' ? $.addClass : $.rmClass)(QR.nodes.el, 'reply-to-thread'); (this.thread !== 'new' ? $.addClass : $.rmClass)(QR.nodes.el, 'reply-to-thread');
this.showFileData(); this.showFileData();
@ -10567,9 +10592,7 @@
} }
$.rmClass(post.nodes.root, 'expanded-image'); $.rmClass(post.nodes.root, 'expanded-image');
$.rmClass(file.thumb, 'expanding'); $.rmClass(file.thumb, 'expanding');
if (file.videoControls) { $.rm(file.videoControls);
$.rm(file.videoControls);
}
file.thumb.parentNode.href = file.url; file.thumb.parentNode.href = file.url;
file.thumb.parentNode.target = '_blank'; file.thumb.parentNode.target = '_blank';
ref = ['isExpanding', 'isExpanded', 'videoControls', 'wasPlaying', 'scrollIntoView']; ref = ['isExpanding', 'isExpanded', 'videoControls', 'wasPlaying', 'scrollIntoView'];
@ -18311,6 +18334,7 @@
" flex: auto;\n" + " flex: auto;\n" +
" display: -webkit-flex;\n" + " display: -webkit-flex;\n" +
" display: flex;\n" + " display: flex;\n" +
" width: 0px; /* XXX Fixes Edge not shrinking the board list below default size when needed */\n" +
" }\n" + " }\n" +
" :root.fixed:not(.centered-links) #full-board-list > .boardList > a,\n" + " :root.fixed:not(.centered-links) #full-board-list > .boardList > a,\n" +
" :root.fixed:not(.centered-links) #full-board-list > .boardList > span:not(.space):not(.spacer) {\n" + " :root.fixed:not(.centered-links) #full-board-list > .boardList > span:not(.space):not(.spacer) {\n" +
@ -19315,6 +19339,7 @@
".has-file #qr-filename {\n" + ".has-file #qr-filename {\n" +
" -webkit-flex: 1 1 auto;\n" + " -webkit-flex: 1 1 auto;\n" +
" flex: 1 1 auto;\n" + " flex: 1 1 auto;\n" +
" width: 0px; /* XXX Fixes filename not shrinking to allow space for buttons in Edge */\n" +
" display: inline-block;\n" + " display: inline-block;\n" +
" padding: 0;\n" + " padding: 0;\n" +
" padding-left: 3px;\n" + " padding-left: 3px;\n" +

Binary file not shown.

View File

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

View File

@ -1,7 +1,7 @@
// Generated by CoffeeScript // Generated by CoffeeScript
// ==UserScript== // ==UserScript==
// @name 4chan X // @name 4chan X
// @version 1.11.6.0 // @version 1.11.7.0
// @minGMVer 1.14 // @minGMVer 1.14
// @minFFVer 26 // @minFFVer 26
// @namespace 4chan-X // @namespace 4chan-X
@ -300,7 +300,7 @@
tripcode: "# Filter any tripfag\n#/^!/", tripcode: "# Filter any tripfag\n#/^!/",
capcode: "# Set a custom class for mods:\n#/Mod$/;highlight:mod;op:yes\n# Set a custom class for moot:\n#/Admin$/;highlight:moot;op:yes", capcode: "# Set a custom class for mods:\n#/Mod$/;highlight:mod;op:yes\n# Set a custom class for moot:\n#/Admin$/;highlight:moot;op:yes",
subject: "# Filter Generals on /v/:\n#/general/i;boards:v;op:only", subject: "# Filter Generals on /v/:\n#/general/i;boards:v;op:only",
comment: "# Filter Stallman copypasta on /g/:\n#/what you\'re refer+ing to as linux/i;boards:g\n# Filter posts with 20 or more quote links:\n#/(?:>>\\d(?:(?!>>\\d)[^])*){20}/", comment: "# Filter Stallman copypasta on /g/:\n#/what you\'re refer+ing to as linux/i;boards:g\n# Filter posts with 20 or more quote links:\n#/(?:>>\\d(?:(?!>>\\d)[^])*){20}/\n# Filter posts like T H I S / H / I / S:\n#/^>?\\s?\\w\\s?(\\w)\\s?(\\w)\\s?(\\w).*$[\\s>]+\\1[\\s>]+\\2[\\s>]+\\3/im",
flag: '', flag: '',
filename: '', filename: '',
dimensions: "# Highlight potential wallpapers:\n#/1920x1080/;op:yes;highlight;top:no;boards:w,wg", dimensions: "# Highlight potential wallpapers:\n#/1920x1080/;op:yes;highlight;top:no;boards:w,wg",
@ -331,7 +331,7 @@
'Header catalog links': false, 'Header catalog links': false,
'Bottom Board List': true, 'Bottom Board List': true,
'Shortcut Icons': true, 'Shortcut Icons': true,
'Custom Board Navigation': true 'Custom Board Navigation': false
}, },
boardnav: "[ toggle-all ]\na-replace\nc-replace\ng-replace\nk-replace\nv-replace\nvg-replace\nvr-replace\nck-replace\nco-replace\nfit-replace\njp-replace\nmu-replace\nsp-replace\ntv-replace\nvp-replace\n[external-text:\"FAQ\",\"https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions\"]", boardnav: "[ toggle-all ]\na-replace\nc-replace\ng-replace\nk-replace\nv-replace\nvg-replace\nvr-replace\nck-replace\nco-replace\nfit-replace\njp-replace\nmu-replace\nsp-replace\ntv-replace\nvp-replace\n[external-text:\"FAQ\",\"https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions\"]",
QR: { QR: {
@ -411,7 +411,7 @@
doc = d.documentElement; doc = d.documentElement;
g = { g = {
VERSION: '1.11.6.0', VERSION: '1.11.7.0',
NAMESPACE: '4chan X.', NAMESPACE: '4chan X.',
boards: {} boards: {}
}; };
@ -631,6 +631,14 @@
if (el = $(selector, root)) { if (el = $(selector, root)) {
return cb(el); return cb(el);
} }
if ($.engine === 'edge' && d.readyState === 'loading') {
$.asap((function() {
return d.readyState !== 'loading' || $(selector, root);
}), function() {
return $.onExists(root, selector, subtree, cb);
});
return;
}
observer = new MutationObserver(function() { observer = new MutationObserver(function() {
if (el = $(selector, root)) { if (el = $(selector, root)) {
observer.disconnect(); observer.disconnect();
@ -696,7 +704,7 @@
}; };
$.rm = function(el) { $.rm = function(el) {
return el.remove(); return el != null ? el.remove() : void 0;
}; };
$.rmAll = function(root) { $.rmAll = function(root) {
@ -872,6 +880,9 @@
}; };
$.engine = (function() { $.engine = (function() {
if (/Edge\//.test(navigator.userAgent)) {
return 'edge';
}
if (/Chrome\//.test(navigator.userAgent)) { if (/Chrome\//.test(navigator.userAgent)) {
return 'blink'; return 'blink';
} }
@ -1313,9 +1324,19 @@
quote: $('.postNum > a:nth-of-type(2)', info), quote: $('.postNum > a:nth-of-type(2)', info),
comment: $('.postMessage', post), comment: $('.postMessage', post),
links: [], links: [],
quotelinks: [], quotelinks: []
backlinks: info.getElementsByClassName('backlink')
}; };
if ($.engine === 'edge') {
Object.defineProperty(this.nodes, 'backlinks', {
configurable: true,
enumerable: true,
get: function() {
return info.getElementsByClassName('backlink');
}
});
} else {
this.nodes.backlinks = info.getElementsByClassName('backlink');
}
if (!(this.isReply = $.hasClass(post, 'reply'))) { if (!(this.isReply = $.hasClass(post, 'reply'))) {
this.thread.OP = this; this.thread.OP = this;
this.thread.isArchived = !!$('.archivedIcon', info); this.thread.isArchived = !!$('.archivedIcon', info);
@ -1605,9 +1626,19 @@
nameBlock: $('.nameBlock', info), nameBlock: $('.nameBlock', info),
quote: $('.postNum > a:nth-of-type(2)', info), quote: $('.postNum > a:nth-of-type(2)', info),
comment: $('.postMessage', post), comment: $('.postMessage', post),
quotelinks: [], quotelinks: []
backlinks: info.getElementsByClassName('backlink')
}; };
if ($.engine === 'edge') {
Object.defineProperty(this.nodes, 'backlinks', {
configurable: true,
enumerable: true,
get: function() {
return info.getElementsByClassName('backlink');
}
});
} else {
this.nodes.backlinks = info.getElementsByClassName('backlink');
}
ref1 = $$('.inline', post); ref1 = $$('.inline', post);
for (q = 0, len2 = ref1.length; q < len2; q++) { for (q = 0, len2 = ref1.length; q < len2; q++) {
inline = ref1[q]; inline = ref1[q];
@ -3211,7 +3242,7 @@
$.asap((function() { $.asap((function() {
return $('.board > .thread > .postContainer', doc) || d.readyState !== 'loading'; return $('.board > .thread > .postContainer', doc) || d.readyState !== 'loading';
}), function() { }), function() {
var board, el, len3, len4, ref6, ref7, ref8, threadRoot, topNavPos, u, v; var board, el, len3, len4, ref6, ref7, threadRoot, topNavPos, u, v;
if (!Main.isThisPageLegit()) { if (!Main.isThisPageLegit()) {
return; return;
} }
@ -3232,9 +3263,7 @@
el = ref7[v]; el = ref7[v];
$.rm(el); $.rm(el);
} }
if ((ref8 = $.id('search-box')) != null) { $.rm($.id('ctrl-top'));
ref8.parentNode.remove();
}
topNavPos = $.id('delform').previousElementSibling; topNavPos = $.id('delform').previousElementSibling;
$.before(topNavPos, $.el('hr')); $.before(topNavPos, $.el('hr'));
return $.before(topNavPos, Index.navLinks); return $.before(topNavPos, Index.navLinks);
@ -8049,13 +8078,9 @@
if (!this.isEnabled) { if (!this.isEnabled) {
return; return;
} }
if (this.nodes.img) { $.rm(this.nodes.img);
$.rm(this.nodes.img);
}
delete this.nodes.img; delete this.nodes.img;
if (this.nodes.iframe) { $.rm(this.nodes.iframe);
$.rm(this.nodes.iframe);
}
delete this.nodes.iframe; delete this.nodes.iframe;
delete this.occupied; delete this.occupied;
return this.beforeSetup(); return this.beforeSetup();
@ -9330,7 +9355,7 @@
if (!(node = QR.nodes[name])) { if (!(node = QR.nodes[name])) {
continue; continue;
} }
node.value = this[name] || node.dataset["default"] || null; node.value = this[name] || node.dataset["default"] || '';
} }
(this.thread !== 'new' ? $.addClass : $.rmClass)(QR.nodes.el, 'reply-to-thread'); (this.thread !== 'new' ? $.addClass : $.rmClass)(QR.nodes.el, 'reply-to-thread');
this.showFileData(); this.showFileData();
@ -10568,9 +10593,7 @@
} }
$.rmClass(post.nodes.root, 'expanded-image'); $.rmClass(post.nodes.root, 'expanded-image');
$.rmClass(file.thumb, 'expanding'); $.rmClass(file.thumb, 'expanding');
if (file.videoControls) { $.rm(file.videoControls);
$.rm(file.videoControls);
}
file.thumb.parentNode.href = file.url; file.thumb.parentNode.href = file.url;
file.thumb.parentNode.target = '_blank'; file.thumb.parentNode.target = '_blank';
ref = ['isExpanding', 'isExpanded', 'videoControls', 'wasPlaying', 'scrollIntoView']; ref = ['isExpanding', 'isExpanded', 'videoControls', 'wasPlaying', 'scrollIntoView'];
@ -18312,6 +18335,7 @@
" flex: auto;\n" + " flex: auto;\n" +
" display: -webkit-flex;\n" + " display: -webkit-flex;\n" +
" display: flex;\n" + " display: flex;\n" +
" width: 0px; /* XXX Fixes Edge not shrinking the board list below default size when needed */\n" +
" }\n" + " }\n" +
" :root.fixed:not(.centered-links) #full-board-list > .boardList > a,\n" + " :root.fixed:not(.centered-links) #full-board-list > .boardList > a,\n" +
" :root.fixed:not(.centered-links) #full-board-list > .boardList > span:not(.space):not(.spacer) {\n" + " :root.fixed:not(.centered-links) #full-board-list > .boardList > span:not(.space):not(.spacer) {\n" +
@ -19316,6 +19340,7 @@
".has-file #qr-filename {\n" + ".has-file #qr-filename {\n" +
" -webkit-flex: 1 1 auto;\n" + " -webkit-flex: 1 1 auto;\n" +
" flex: 1 1 auto;\n" + " flex: 1 1 auto;\n" +
" width: 0px; /* XXX Fixes filename not shrinking to allow space for buttons in Edge */\n" +
" display: inline-block;\n" + " display: inline-block;\n" +
" padding: 0;\n" + " padding: 0;\n" +
" padding-left: 3px;\n" + " padding-left: 3px;\n" +

Binary file not shown.

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://ccd0.github.io/4chan-x/builds/4chan-X-beta.crx' version='1.11.6.0' /> <updatecheck codebase='https://ccd0.github.io/4chan-x/builds/4chan-X-beta.crx' version='1.11.7.0' />
</app> </app>
</gupdate> </gupdate>

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://ccd0.github.io/4chan-x/builds/4chan-X.crx' version='1.11.6.0' /> <updatecheck codebase='https://ccd0.github.io/4chan-x/builds/4chan-X.crx' version='1.11.7.0' />
</app> </app>
</gupdate> </gupdate>

View File

@ -3,8 +3,8 @@
"description": "Cross-browser userscript for maximum lurking on 4chan.", "description": "Cross-browser userscript for maximum lurking on 4chan.",
"meta": { "meta": {
"name": "4chan X", "name": "4chan X",
"version": "1.11.6.0", "version": "1.11.7.0",
"date": "2015-07-20T02:05:39.061Z", "date": "2015-08-02T20:43:11.702Z",
"repo": "https://github.com/ccd0/4chan-x/", "repo": "https://github.com/ccd0/4chan-x/",
"page": "https://github.com/ccd0/4chan-x", "page": "https://github.com/ccd0/4chan-x",
"downloads": "https://ccd0.github.io/4chan-x/builds/", "downloads": "https://ccd0.github.io/4chan-x/builds/",