Release 4chan X v1.8.8.3.
This commit is contained in:
parent
4649639215
commit
36fad05cab
@ -1,3 +1,6 @@
|
|||||||
|
### v1.8.8.3
|
||||||
|
*2014-08-02*
|
||||||
|
|
||||||
**ccd0**, **Zixaphir**
|
**ccd0**, **Zixaphir**
|
||||||
- Bug fixes.
|
- Bug fixes.
|
||||||
|
|
||||||
|
|||||||
2
LICENSE
2
LICENSE
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* 4chan X - Version 1.8.8.2 - 2014-07-29
|
* 4chan X - Version 1.8.8.3 - 2014-08-02
|
||||||
*
|
*
|
||||||
* Licensed under the MIT license.
|
* Licensed under the MIT license.
|
||||||
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
|
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
|
||||||
|
|||||||
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X
|
// @name 4chan X
|
||||||
// @version 1.8.8.2
|
// @version 1.8.8.3
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
// Generated by CoffeeScript
|
// Generated by CoffeeScript
|
||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X
|
// @name 4chan X
|
||||||
// @version 1.8.8.2
|
// @version 1.8.8.3
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
@ -24,7 +24,7 @@
|
|||||||
// ==/UserScript==
|
// ==/UserScript==
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 4chan X - Version 1.8.8.2 - 2014-07-29
|
* 4chan X - Version 1.8.8.3 - 2014-08-02
|
||||||
*
|
*
|
||||||
* Licensed under the MIT license.
|
* Licensed under the MIT license.
|
||||||
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
|
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
|
||||||
@ -378,7 +378,7 @@
|
|||||||
doc = d.documentElement;
|
doc = d.documentElement;
|
||||||
|
|
||||||
g = {
|
g = {
|
||||||
VERSION: '1.8.8.2',
|
VERSION: '1.8.8.3',
|
||||||
NAMESPACE: '4chan X.',
|
NAMESPACE: '4chan X.',
|
||||||
boards: {}
|
boards: {}
|
||||||
};
|
};
|
||||||
@ -7816,6 +7816,9 @@
|
|||||||
if (((_ref = file.error) != null ? _ref.code : void 0) === MediaError.MEDIA_ERR_DECODE) {
|
if (((_ref = file.error) != null ? _ref.code : void 0) === MediaError.MEDIA_ERR_DECODE) {
|
||||||
return new Notice('error', 'Corrupt or unplayable video', 30);
|
return new Notice('error', 'Corrupt or unplayable video', 30);
|
||||||
}
|
}
|
||||||
|
if (file.src.split('/')[2] !== 'i.4cdn.org') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
return ImageCommon.error(file, g.posts[file.dataset.post], null, function(URL) {
|
return ImageCommon.error(file, g.posts[file.dataset.post], null, function(URL) {
|
||||||
if (!URL) {
|
if (!URL) {
|
||||||
return;
|
return;
|
||||||
@ -7994,32 +7997,42 @@
|
|||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
error: function(file, post, delay, cb) {
|
error: function(file, post, delay, cb) {
|
||||||
var kill, timeoutID;
|
var URL, redirect, src, timeoutID;
|
||||||
if (file.src.split('/')[2] !== 'i.4cdn.org') {
|
src = post.file.URL.split('/');
|
||||||
return cb(null);
|
URL = Redirect.to('file', {
|
||||||
|
boardID: post.board.ID,
|
||||||
|
filename: src[src.length - 1]
|
||||||
|
});
|
||||||
|
if (!(URL && (/^https:\/\//.test(URL) || location.protocol === 'http:'))) {
|
||||||
|
URL = null;
|
||||||
}
|
}
|
||||||
if (post.isDead || post.file.isDead) {
|
if ((post.isDead || post.file.isDead) && file.src.split('/')[2] === 'i.4cdn.org') {
|
||||||
return ImageCommon.retry(post, cb);
|
return cb(URL);
|
||||||
}
|
}
|
||||||
if (delay != null) {
|
if (delay != null) {
|
||||||
timeoutID = setTimeout(ImageCommon.retry, delay, post, cb);
|
timeoutID = setTimeout((function() {
|
||||||
|
return cb(URL);
|
||||||
|
}), delay);
|
||||||
}
|
}
|
||||||
if (post.isDead || post.file.isDead) {
|
if (post.isDead || post.file.isDead) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
kill = function(fileOnly) {
|
redirect = function() {
|
||||||
clearTimeout(timeoutID);
|
if (file.src.split('/')[2] === 'i.4cdn.org') {
|
||||||
post.kill(fileOnly);
|
if (delay != null) {
|
||||||
return ImageCommon.retry(post, cb);
|
clearTimeout(timeoutID);
|
||||||
|
}
|
||||||
|
return cb(URL);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
return $.ajax("//a.4cdn.org/" + post.board + "/thread/" + post.thread + ".json", {
|
return $.ajax("//a.4cdn.org/" + post.board + "/thread/" + post.thread + ".json", {
|
||||||
onload: function() {
|
onload: function() {
|
||||||
var postObj, _i, _len, _ref;
|
var postObj, _i, _len, _ref;
|
||||||
if (this.status === 404) {
|
if (this.status === 404) {
|
||||||
return kill();
|
post.kill();
|
||||||
}
|
}
|
||||||
if (this.status !== 200) {
|
if (this.status !== 200) {
|
||||||
return;
|
return redirect();
|
||||||
}
|
}
|
||||||
_ref = this.response.posts;
|
_ref = this.response.posts;
|
||||||
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
||||||
@ -8029,28 +8042,17 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (postObj.no !== post.ID) {
|
if (postObj.no !== post.ID) {
|
||||||
return kill();
|
post.kill();
|
||||||
|
return redirect();
|
||||||
} else if (postObj.filedeleted) {
|
} else if (postObj.filedeleted) {
|
||||||
return kill(true);
|
post.kill(true);
|
||||||
|
return redirect();
|
||||||
|
} else {
|
||||||
|
return URL = post.file.URL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
retry: function(post, cb) {
|
|
||||||
var URL, src;
|
|
||||||
if (!(post.isDead || post.file.isDead)) {
|
|
||||||
return cb(post.file.URL + '?' + Date.now());
|
|
||||||
}
|
|
||||||
src = post.file.URL.split('/');
|
|
||||||
URL = Redirect.to('file', {
|
|
||||||
boardID: post.board.ID,
|
|
||||||
filename: src[src.length - 1]
|
|
||||||
});
|
|
||||||
if (URL && (/^https:\/\//.test(URL) || location.protocol === 'http:')) {
|
|
||||||
return cb(URL);
|
|
||||||
}
|
|
||||||
return cb(null);
|
|
||||||
},
|
|
||||||
addControls: function(video) {
|
addControls: function(video) {
|
||||||
var handler;
|
var handler;
|
||||||
handler = function() {
|
handler = function() {
|
||||||
@ -8387,20 +8389,23 @@
|
|||||||
post = Get.postFromNode(this);
|
post = Get.postFromNode(this);
|
||||||
$.rm(this);
|
$.rm(this);
|
||||||
delete post.file.fullImage;
|
delete post.file.fullImage;
|
||||||
if (ImageCommon.decodeError(this, post)) {
|
if (!(post.file.isExpanding || post.file.isExpanded)) {
|
||||||
ImageExpand.contract(post);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (post.file.isExpanding || post.file.isExpanded) {
|
if (ImageCommon.decodeError(this, post)) {
|
||||||
return ImageCommon.error(this, post, 10 * $.SECOND, function(URL) {
|
return ImageExpand.contract(post);
|
||||||
if (post.file.isExpanding || post.file.isExpanded) {
|
|
||||||
ImageExpand.contract(post);
|
|
||||||
if (URL) {
|
|
||||||
return ImageExpand.expand(post, URL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
if (this.src.split('/')[2] !== 'i.4cdn.org') {
|
||||||
|
return ImageExpand.contract(post);
|
||||||
|
}
|
||||||
|
return ImageCommon.error(this, post, 10 * $.SECOND, function(URL) {
|
||||||
|
if (post.file.isExpanding || post.file.isExpanded) {
|
||||||
|
ImageExpand.contract(post);
|
||||||
|
if (URL) {
|
||||||
|
return ImageExpand.expand(post, URL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
menu: {
|
menu: {
|
||||||
init: function() {
|
init: function() {
|
||||||
@ -8464,6 +8469,9 @@
|
|||||||
post = Get.postFromNode(this);
|
post = Get.postFromNode(this);
|
||||||
file = post.file;
|
file = post.file;
|
||||||
isVideo = file.isVideo;
|
isVideo = file.isVideo;
|
||||||
|
if (post.file.isExpanding || post.file.isExpanded) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (el = file.fullImage) {
|
if (el = file.fullImage) {
|
||||||
el.id = 'ihover';
|
el.id = 'ihover';
|
||||||
TrashQueue.remove(el);
|
TrashQueue.remove(el);
|
||||||
@ -8472,7 +8480,6 @@
|
|||||||
className: 'full-image',
|
className: 'full-image',
|
||||||
id: 'ihover'
|
id: 'ihover'
|
||||||
});
|
});
|
||||||
el.dataset.fullID = post.fullID;
|
|
||||||
$.on(el, 'error', ImageHover.error);
|
$.on(el, 'error', ImageHover.error);
|
||||||
el.src = file.URL;
|
el.src = file.URL;
|
||||||
$.after(file.thumb, el);
|
$.after(file.thumb, el);
|
||||||
@ -8498,7 +8505,6 @@
|
|||||||
},
|
},
|
||||||
noRemove: true,
|
noRemove: true,
|
||||||
cb: function() {
|
cb: function() {
|
||||||
$.off(el, 'error', ImageHover.error);
|
|
||||||
if (isVideo) {
|
if (isVideo) {
|
||||||
el.pause();
|
el.pause();
|
||||||
TrashQueue.add(el, post);
|
TrashQueue.add(el, post);
|
||||||
@ -8509,20 +8515,26 @@
|
|||||||
},
|
},
|
||||||
error: function() {
|
error: function() {
|
||||||
var post;
|
var post;
|
||||||
if (!doc.contains(this)) {
|
post = Get.postFromNode(this);
|
||||||
|
if (post.file.isExpanding || post.file.isExpanded) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
post = g.posts[this.dataset.fullID];
|
if (this.id === 'ihover') {
|
||||||
if (ImageCommon.decodeError(this, post)) {
|
if (ImageCommon.decodeError(this, post)) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
return ImageCommon.error(this, post, 3 * $.SECOND, (function(_this) {
|
||||||
|
return function(URL) {
|
||||||
|
if (URL) {
|
||||||
|
return _this.src = URL + (_this.src === URL ? '?' + Date.now() : '');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
})(this));
|
||||||
|
} else {
|
||||||
|
$.off(this, 'error', ImageHover.error);
|
||||||
|
$.rm(this);
|
||||||
|
return delete post.file.fullImage;
|
||||||
}
|
}
|
||||||
return ImageCommon.error(this, post, 3 * $.SECOND, (function(_this) {
|
|
||||||
return function(URL) {
|
|
||||||
if (URL) {
|
|
||||||
return _this.src = URL;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
})(this));
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -11201,7 +11213,7 @@
|
|||||||
_ref = $$("#board-list a:not(.catalog), #boardNavDesktopFoot a");
|
_ref = $$("#board-list a:not(.catalog), #boardNavDesktopFoot a");
|
||||||
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
||||||
a = _ref[_i];
|
a = _ref[_i];
|
||||||
if (((_ref1 = a.hostname) !== 'boards.4chan.org' && _ref1 !== 'catalog.neet.tv' && _ref1 !== '4index.gropes.us') || !(board = a.pathname.split('/')[1]) || (board === 'f' || board === 'status' || board === '4chan')) {
|
if (((_ref1 = a.hostname) !== 'boards.4chan.org' && _ref1 !== 'catalog.neet.tv' && _ref1 !== '4index.gropes.us') || !(board = a.pathname.split('/')[1]) || (board === 'f' || board === 'status' || board === '4chan') || $.hasClass(a, 'external')) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
a.href = generateURL(board);
|
a.href = generateURL(board);
|
||||||
@ -12582,7 +12594,7 @@
|
|||||||
Settings.dialog = dialog = $.el('div', {
|
Settings.dialog = dialog = $.el('div', {
|
||||||
id: 'fourchanx-settings',
|
id: 'fourchanx-settings',
|
||||||
className: 'dialog',
|
className: 'dialog',
|
||||||
innerHTML: '<nav><div class=sections-list></div><p class=\'imp-exp-result warning\'></p><div class=credits><a class=export>Export</a> | <a class=import>Import</a> | <a class=reset>Reset Settings</a> | <input type=file hidden><a href=\'https://github.com/ccd0/4chan-x\' target=_blank>4chan X</a> | <a href=\'https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md\' target=_blank>1.8.8.2</a> | <a href=\'https://github.com/ccd0/4chan-x/issues\' target=_blank>Issues</a> | <a href=javascript:; class=\'close fa fa-times\' title=Close></a></div></nav><div class=section-container><section></section></div>'
|
innerHTML: '<nav><div class=sections-list></div><p class=\'imp-exp-result warning\'></p><div class=credits><a class=export>Export</a> | <a class=import>Import</a> | <a class=reset>Reset Settings</a> | <input type=file hidden><a href=\'https://github.com/ccd0/4chan-x\' target=_blank>4chan X</a> | <a href=\'https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md\' target=_blank>1.8.8.3</a> | <a href=\'https://github.com/ccd0/4chan-x/issues\' target=_blank>Issues</a> | <a href=javascript:; class=\'close fa fa-times\' title=Close></a></div></nav><div class=section-container><section></section></div>'
|
||||||
});
|
});
|
||||||
$.on($('.export', Settings.dialog), 'click', Settings["export"]);
|
$.on($('.export', Settings.dialog), 'click', Settings["export"]);
|
||||||
$.on($('.import', Settings.dialog), 'click', Settings["import"]);
|
$.on($('.import', Settings.dialog), 'click', Settings["import"]);
|
||||||
@ -13424,7 +13436,7 @@
|
|||||||
}
|
}
|
||||||
if (previousversion) {
|
if (previousversion) {
|
||||||
el = $.el('span', {
|
el = $.el('span', {
|
||||||
innerHTML: '4chan X has been updated to <a href="https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md" target="_blank">version 1.8.8.2</a>.'
|
innerHTML: '4chan X has been updated to <a href="https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md" target="_blank">version 1.8.8.3</a>.'
|
||||||
});
|
});
|
||||||
new Notice('info', el, 15);
|
new Notice('info', el, 15);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Binary file not shown.
@ -1,7 +1,7 @@
|
|||||||
// Generated by CoffeeScript
|
// Generated by CoffeeScript
|
||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X
|
// @name 4chan X
|
||||||
// @version 1.8.8.2
|
// @version 1.8.8.3
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
@ -23,7 +23,7 @@
|
|||||||
// ==/UserScript==
|
// ==/UserScript==
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 4chan X - Version 1.8.8.2 - 2014-07-29
|
* 4chan X - Version 1.8.8.3 - 2014-08-02
|
||||||
*
|
*
|
||||||
* Licensed under the MIT license.
|
* Licensed under the MIT license.
|
||||||
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
|
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
|
||||||
@ -377,7 +377,7 @@
|
|||||||
doc = d.documentElement;
|
doc = d.documentElement;
|
||||||
|
|
||||||
g = {
|
g = {
|
||||||
VERSION: '1.8.8.2',
|
VERSION: '1.8.8.3',
|
||||||
NAMESPACE: '4chan X.',
|
NAMESPACE: '4chan X.',
|
||||||
boards: {}
|
boards: {}
|
||||||
};
|
};
|
||||||
@ -7815,6 +7815,9 @@
|
|||||||
if (((_ref = file.error) != null ? _ref.code : void 0) === MediaError.MEDIA_ERR_DECODE) {
|
if (((_ref = file.error) != null ? _ref.code : void 0) === MediaError.MEDIA_ERR_DECODE) {
|
||||||
return new Notice('error', 'Corrupt or unplayable video', 30);
|
return new Notice('error', 'Corrupt or unplayable video', 30);
|
||||||
}
|
}
|
||||||
|
if (file.src.split('/')[2] !== 'i.4cdn.org') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
return ImageCommon.error(file, g.posts[file.dataset.post], null, function(URL) {
|
return ImageCommon.error(file, g.posts[file.dataset.post], null, function(URL) {
|
||||||
if (!URL) {
|
if (!URL) {
|
||||||
return;
|
return;
|
||||||
@ -7993,32 +7996,42 @@
|
|||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
error: function(file, post, delay, cb) {
|
error: function(file, post, delay, cb) {
|
||||||
var kill, timeoutID;
|
var URL, redirect, src, timeoutID;
|
||||||
if (file.src.split('/')[2] !== 'i.4cdn.org') {
|
src = post.file.URL.split('/');
|
||||||
return cb(null);
|
URL = Redirect.to('file', {
|
||||||
|
boardID: post.board.ID,
|
||||||
|
filename: src[src.length - 1]
|
||||||
|
});
|
||||||
|
if (!(URL && (/^https:\/\//.test(URL) || location.protocol === 'http:'))) {
|
||||||
|
URL = null;
|
||||||
}
|
}
|
||||||
if (post.isDead || post.file.isDead) {
|
if ((post.isDead || post.file.isDead) && file.src.split('/')[2] === 'i.4cdn.org') {
|
||||||
return ImageCommon.retry(post, cb);
|
return cb(URL);
|
||||||
}
|
}
|
||||||
if (delay != null) {
|
if (delay != null) {
|
||||||
timeoutID = setTimeout(ImageCommon.retry, delay, post, cb);
|
timeoutID = setTimeout((function() {
|
||||||
|
return cb(URL);
|
||||||
|
}), delay);
|
||||||
}
|
}
|
||||||
if (post.isDead || post.file.isDead) {
|
if (post.isDead || post.file.isDead) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
kill = function(fileOnly) {
|
redirect = function() {
|
||||||
clearTimeout(timeoutID);
|
if (file.src.split('/')[2] === 'i.4cdn.org') {
|
||||||
post.kill(fileOnly);
|
if (delay != null) {
|
||||||
return ImageCommon.retry(post, cb);
|
clearTimeout(timeoutID);
|
||||||
|
}
|
||||||
|
return cb(URL);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
return $.ajax("//a.4cdn.org/" + post.board + "/thread/" + post.thread + ".json", {
|
return $.ajax("//a.4cdn.org/" + post.board + "/thread/" + post.thread + ".json", {
|
||||||
onload: function() {
|
onload: function() {
|
||||||
var postObj, _i, _len, _ref;
|
var postObj, _i, _len, _ref;
|
||||||
if (this.status === 404) {
|
if (this.status === 404) {
|
||||||
return kill();
|
post.kill();
|
||||||
}
|
}
|
||||||
if (this.status !== 200) {
|
if (this.status !== 200) {
|
||||||
return;
|
return redirect();
|
||||||
}
|
}
|
||||||
_ref = this.response.posts;
|
_ref = this.response.posts;
|
||||||
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
||||||
@ -8028,28 +8041,17 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (postObj.no !== post.ID) {
|
if (postObj.no !== post.ID) {
|
||||||
return kill();
|
post.kill();
|
||||||
|
return redirect();
|
||||||
} else if (postObj.filedeleted) {
|
} else if (postObj.filedeleted) {
|
||||||
return kill(true);
|
post.kill(true);
|
||||||
|
return redirect();
|
||||||
|
} else {
|
||||||
|
return URL = post.file.URL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
retry: function(post, cb) {
|
|
||||||
var URL, src;
|
|
||||||
if (!(post.isDead || post.file.isDead)) {
|
|
||||||
return cb(post.file.URL + '?' + Date.now());
|
|
||||||
}
|
|
||||||
src = post.file.URL.split('/');
|
|
||||||
URL = Redirect.to('file', {
|
|
||||||
boardID: post.board.ID,
|
|
||||||
filename: src[src.length - 1]
|
|
||||||
});
|
|
||||||
if (URL && (/^https:\/\//.test(URL) || location.protocol === 'http:')) {
|
|
||||||
return cb(URL);
|
|
||||||
}
|
|
||||||
return cb(null);
|
|
||||||
},
|
|
||||||
addControls: function(video) {
|
addControls: function(video) {
|
||||||
var handler;
|
var handler;
|
||||||
handler = function() {
|
handler = function() {
|
||||||
@ -8386,20 +8388,23 @@
|
|||||||
post = Get.postFromNode(this);
|
post = Get.postFromNode(this);
|
||||||
$.rm(this);
|
$.rm(this);
|
||||||
delete post.file.fullImage;
|
delete post.file.fullImage;
|
||||||
if (ImageCommon.decodeError(this, post)) {
|
if (!(post.file.isExpanding || post.file.isExpanded)) {
|
||||||
ImageExpand.contract(post);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (post.file.isExpanding || post.file.isExpanded) {
|
if (ImageCommon.decodeError(this, post)) {
|
||||||
return ImageCommon.error(this, post, 10 * $.SECOND, function(URL) {
|
return ImageExpand.contract(post);
|
||||||
if (post.file.isExpanding || post.file.isExpanded) {
|
|
||||||
ImageExpand.contract(post);
|
|
||||||
if (URL) {
|
|
||||||
return ImageExpand.expand(post, URL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
if (this.src.split('/')[2] !== 'i.4cdn.org') {
|
||||||
|
return ImageExpand.contract(post);
|
||||||
|
}
|
||||||
|
return ImageCommon.error(this, post, 10 * $.SECOND, function(URL) {
|
||||||
|
if (post.file.isExpanding || post.file.isExpanded) {
|
||||||
|
ImageExpand.contract(post);
|
||||||
|
if (URL) {
|
||||||
|
return ImageExpand.expand(post, URL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
menu: {
|
menu: {
|
||||||
init: function() {
|
init: function() {
|
||||||
@ -8463,6 +8468,9 @@
|
|||||||
post = Get.postFromNode(this);
|
post = Get.postFromNode(this);
|
||||||
file = post.file;
|
file = post.file;
|
||||||
isVideo = file.isVideo;
|
isVideo = file.isVideo;
|
||||||
|
if (post.file.isExpanding || post.file.isExpanded) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (el = file.fullImage) {
|
if (el = file.fullImage) {
|
||||||
el.id = 'ihover';
|
el.id = 'ihover';
|
||||||
TrashQueue.remove(el);
|
TrashQueue.remove(el);
|
||||||
@ -8471,7 +8479,6 @@
|
|||||||
className: 'full-image',
|
className: 'full-image',
|
||||||
id: 'ihover'
|
id: 'ihover'
|
||||||
});
|
});
|
||||||
el.dataset.fullID = post.fullID;
|
|
||||||
$.on(el, 'error', ImageHover.error);
|
$.on(el, 'error', ImageHover.error);
|
||||||
el.src = file.URL;
|
el.src = file.URL;
|
||||||
$.after(file.thumb, el);
|
$.after(file.thumb, el);
|
||||||
@ -8497,7 +8504,6 @@
|
|||||||
},
|
},
|
||||||
noRemove: true,
|
noRemove: true,
|
||||||
cb: function() {
|
cb: function() {
|
||||||
$.off(el, 'error', ImageHover.error);
|
|
||||||
if (isVideo) {
|
if (isVideo) {
|
||||||
el.pause();
|
el.pause();
|
||||||
TrashQueue.add(el, post);
|
TrashQueue.add(el, post);
|
||||||
@ -8508,20 +8514,26 @@
|
|||||||
},
|
},
|
||||||
error: function() {
|
error: function() {
|
||||||
var post;
|
var post;
|
||||||
if (!doc.contains(this)) {
|
post = Get.postFromNode(this);
|
||||||
|
if (post.file.isExpanding || post.file.isExpanded) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
post = g.posts[this.dataset.fullID];
|
if (this.id === 'ihover') {
|
||||||
if (ImageCommon.decodeError(this, post)) {
|
if (ImageCommon.decodeError(this, post)) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
return ImageCommon.error(this, post, 3 * $.SECOND, (function(_this) {
|
||||||
|
return function(URL) {
|
||||||
|
if (URL) {
|
||||||
|
return _this.src = URL + (_this.src === URL ? '?' + Date.now() : '');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
})(this));
|
||||||
|
} else {
|
||||||
|
$.off(this, 'error', ImageHover.error);
|
||||||
|
$.rm(this);
|
||||||
|
return delete post.file.fullImage;
|
||||||
}
|
}
|
||||||
return ImageCommon.error(this, post, 3 * $.SECOND, (function(_this) {
|
|
||||||
return function(URL) {
|
|
||||||
if (URL) {
|
|
||||||
return _this.src = URL;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
})(this));
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -11200,7 +11212,7 @@
|
|||||||
_ref = $$("#board-list a:not(.catalog), #boardNavDesktopFoot a");
|
_ref = $$("#board-list a:not(.catalog), #boardNavDesktopFoot a");
|
||||||
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
||||||
a = _ref[_i];
|
a = _ref[_i];
|
||||||
if (((_ref1 = a.hostname) !== 'boards.4chan.org' && _ref1 !== 'catalog.neet.tv' && _ref1 !== '4index.gropes.us') || !(board = a.pathname.split('/')[1]) || (board === 'f' || board === 'status' || board === '4chan')) {
|
if (((_ref1 = a.hostname) !== 'boards.4chan.org' && _ref1 !== 'catalog.neet.tv' && _ref1 !== '4index.gropes.us') || !(board = a.pathname.split('/')[1]) || (board === 'f' || board === 'status' || board === '4chan') || $.hasClass(a, 'external')) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
a.href = generateURL(board);
|
a.href = generateURL(board);
|
||||||
@ -12581,7 +12593,7 @@
|
|||||||
Settings.dialog = dialog = $.el('div', {
|
Settings.dialog = dialog = $.el('div', {
|
||||||
id: 'fourchanx-settings',
|
id: 'fourchanx-settings',
|
||||||
className: 'dialog',
|
className: 'dialog',
|
||||||
innerHTML: '<nav><div class=sections-list></div><p class=\'imp-exp-result warning\'></p><div class=credits><a class=export>Export</a> | <a class=import>Import</a> | <a class=reset>Reset Settings</a> | <input type=file hidden><a href=\'https://github.com/ccd0/4chan-x\' target=_blank>4chan X</a> | <a href=\'https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md\' target=_blank>1.8.8.2</a> | <a href=\'https://github.com/ccd0/4chan-x/issues\' target=_blank>Issues</a> | <a href=javascript:; class=\'close fa fa-times\' title=Close></a></div></nav><div class=section-container><section></section></div>'
|
innerHTML: '<nav><div class=sections-list></div><p class=\'imp-exp-result warning\'></p><div class=credits><a class=export>Export</a> | <a class=import>Import</a> | <a class=reset>Reset Settings</a> | <input type=file hidden><a href=\'https://github.com/ccd0/4chan-x\' target=_blank>4chan X</a> | <a href=\'https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md\' target=_blank>1.8.8.3</a> | <a href=\'https://github.com/ccd0/4chan-x/issues\' target=_blank>Issues</a> | <a href=javascript:; class=\'close fa fa-times\' title=Close></a></div></nav><div class=section-container><section></section></div>'
|
||||||
});
|
});
|
||||||
$.on($('.export', Settings.dialog), 'click', Settings["export"]);
|
$.on($('.export', Settings.dialog), 'click', Settings["export"]);
|
||||||
$.on($('.import', Settings.dialog), 'click', Settings["import"]);
|
$.on($('.import', Settings.dialog), 'click', Settings["import"]);
|
||||||
@ -13423,7 +13435,7 @@
|
|||||||
}
|
}
|
||||||
if (previousversion) {
|
if (previousversion) {
|
||||||
el = $.el('span', {
|
el = $.el('span', {
|
||||||
innerHTML: '4chan X has been updated to <a href="https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md" target="_blank">version 1.8.8.2</a>.'
|
innerHTML: '4chan X has been updated to <a href="https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md" target="_blank">version 1.8.8.3</a>.'
|
||||||
});
|
});
|
||||||
new Notice('info', el, 15);
|
new Notice('info', el, 15);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X
|
// @name 4chan X
|
||||||
// @version 1.8.8.2
|
// @version 1.8.8.3
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
// Generated by CoffeeScript
|
// Generated by CoffeeScript
|
||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X
|
// @name 4chan X
|
||||||
// @version 1.8.8.2
|
// @version 1.8.8.3
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
@ -24,7 +24,7 @@
|
|||||||
// ==/UserScript==
|
// ==/UserScript==
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 4chan X - Version 1.8.8.2 - 2014-07-29
|
* 4chan X - Version 1.8.8.3 - 2014-08-02
|
||||||
*
|
*
|
||||||
* Licensed under the MIT license.
|
* Licensed under the MIT license.
|
||||||
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
|
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
|
||||||
@ -378,7 +378,7 @@
|
|||||||
doc = d.documentElement;
|
doc = d.documentElement;
|
||||||
|
|
||||||
g = {
|
g = {
|
||||||
VERSION: '1.8.8.2',
|
VERSION: '1.8.8.3',
|
||||||
NAMESPACE: '4chan X.',
|
NAMESPACE: '4chan X.',
|
||||||
boards: {}
|
boards: {}
|
||||||
};
|
};
|
||||||
@ -7816,6 +7816,9 @@
|
|||||||
if (((_ref = file.error) != null ? _ref.code : void 0) === MediaError.MEDIA_ERR_DECODE) {
|
if (((_ref = file.error) != null ? _ref.code : void 0) === MediaError.MEDIA_ERR_DECODE) {
|
||||||
return new Notice('error', 'Corrupt or unplayable video', 30);
|
return new Notice('error', 'Corrupt or unplayable video', 30);
|
||||||
}
|
}
|
||||||
|
if (file.src.split('/')[2] !== 'i.4cdn.org') {
|
||||||
|
return;
|
||||||
|
}
|
||||||
return ImageCommon.error(file, g.posts[file.dataset.post], null, function(URL) {
|
return ImageCommon.error(file, g.posts[file.dataset.post], null, function(URL) {
|
||||||
if (!URL) {
|
if (!URL) {
|
||||||
return;
|
return;
|
||||||
@ -7994,32 +7997,42 @@
|
|||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
error: function(file, post, delay, cb) {
|
error: function(file, post, delay, cb) {
|
||||||
var kill, timeoutID;
|
var URL, redirect, src, timeoutID;
|
||||||
if (file.src.split('/')[2] !== 'i.4cdn.org') {
|
src = post.file.URL.split('/');
|
||||||
return cb(null);
|
URL = Redirect.to('file', {
|
||||||
|
boardID: post.board.ID,
|
||||||
|
filename: src[src.length - 1]
|
||||||
|
});
|
||||||
|
if (!(URL && (/^https:\/\//.test(URL) || location.protocol === 'http:'))) {
|
||||||
|
URL = null;
|
||||||
}
|
}
|
||||||
if (post.isDead || post.file.isDead) {
|
if ((post.isDead || post.file.isDead) && file.src.split('/')[2] === 'i.4cdn.org') {
|
||||||
return ImageCommon.retry(post, cb);
|
return cb(URL);
|
||||||
}
|
}
|
||||||
if (delay != null) {
|
if (delay != null) {
|
||||||
timeoutID = setTimeout(ImageCommon.retry, delay, post, cb);
|
timeoutID = setTimeout((function() {
|
||||||
|
return cb(URL);
|
||||||
|
}), delay);
|
||||||
}
|
}
|
||||||
if (post.isDead || post.file.isDead) {
|
if (post.isDead || post.file.isDead) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
kill = function(fileOnly) {
|
redirect = function() {
|
||||||
clearTimeout(timeoutID);
|
if (file.src.split('/')[2] === 'i.4cdn.org') {
|
||||||
post.kill(fileOnly);
|
if (delay != null) {
|
||||||
return ImageCommon.retry(post, cb);
|
clearTimeout(timeoutID);
|
||||||
|
}
|
||||||
|
return cb(URL);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
return $.ajax("//a.4cdn.org/" + post.board + "/thread/" + post.thread + ".json", {
|
return $.ajax("//a.4cdn.org/" + post.board + "/thread/" + post.thread + ".json", {
|
||||||
onload: function() {
|
onload: function() {
|
||||||
var postObj, _i, _len, _ref;
|
var postObj, _i, _len, _ref;
|
||||||
if (this.status === 404) {
|
if (this.status === 404) {
|
||||||
return kill();
|
post.kill();
|
||||||
}
|
}
|
||||||
if (this.status !== 200) {
|
if (this.status !== 200) {
|
||||||
return;
|
return redirect();
|
||||||
}
|
}
|
||||||
_ref = this.response.posts;
|
_ref = this.response.posts;
|
||||||
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
||||||
@ -8029,28 +8042,17 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (postObj.no !== post.ID) {
|
if (postObj.no !== post.ID) {
|
||||||
return kill();
|
post.kill();
|
||||||
|
return redirect();
|
||||||
} else if (postObj.filedeleted) {
|
} else if (postObj.filedeleted) {
|
||||||
return kill(true);
|
post.kill(true);
|
||||||
|
return redirect();
|
||||||
|
} else {
|
||||||
|
return URL = post.file.URL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
retry: function(post, cb) {
|
|
||||||
var URL, src;
|
|
||||||
if (!(post.isDead || post.file.isDead)) {
|
|
||||||
return cb(post.file.URL + '?' + Date.now());
|
|
||||||
}
|
|
||||||
src = post.file.URL.split('/');
|
|
||||||
URL = Redirect.to('file', {
|
|
||||||
boardID: post.board.ID,
|
|
||||||
filename: src[src.length - 1]
|
|
||||||
});
|
|
||||||
if (URL && (/^https:\/\//.test(URL) || location.protocol === 'http:')) {
|
|
||||||
return cb(URL);
|
|
||||||
}
|
|
||||||
return cb(null);
|
|
||||||
},
|
|
||||||
addControls: function(video) {
|
addControls: function(video) {
|
||||||
var handler;
|
var handler;
|
||||||
handler = function() {
|
handler = function() {
|
||||||
@ -8387,20 +8389,23 @@
|
|||||||
post = Get.postFromNode(this);
|
post = Get.postFromNode(this);
|
||||||
$.rm(this);
|
$.rm(this);
|
||||||
delete post.file.fullImage;
|
delete post.file.fullImage;
|
||||||
if (ImageCommon.decodeError(this, post)) {
|
if (!(post.file.isExpanding || post.file.isExpanded)) {
|
||||||
ImageExpand.contract(post);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (post.file.isExpanding || post.file.isExpanded) {
|
if (ImageCommon.decodeError(this, post)) {
|
||||||
return ImageCommon.error(this, post, 10 * $.SECOND, function(URL) {
|
return ImageExpand.contract(post);
|
||||||
if (post.file.isExpanding || post.file.isExpanded) {
|
|
||||||
ImageExpand.contract(post);
|
|
||||||
if (URL) {
|
|
||||||
return ImageExpand.expand(post, URL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
if (this.src.split('/')[2] !== 'i.4cdn.org') {
|
||||||
|
return ImageExpand.contract(post);
|
||||||
|
}
|
||||||
|
return ImageCommon.error(this, post, 10 * $.SECOND, function(URL) {
|
||||||
|
if (post.file.isExpanding || post.file.isExpanded) {
|
||||||
|
ImageExpand.contract(post);
|
||||||
|
if (URL) {
|
||||||
|
return ImageExpand.expand(post, URL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
menu: {
|
menu: {
|
||||||
init: function() {
|
init: function() {
|
||||||
@ -8464,6 +8469,9 @@
|
|||||||
post = Get.postFromNode(this);
|
post = Get.postFromNode(this);
|
||||||
file = post.file;
|
file = post.file;
|
||||||
isVideo = file.isVideo;
|
isVideo = file.isVideo;
|
||||||
|
if (post.file.isExpanding || post.file.isExpanded) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (el = file.fullImage) {
|
if (el = file.fullImage) {
|
||||||
el.id = 'ihover';
|
el.id = 'ihover';
|
||||||
TrashQueue.remove(el);
|
TrashQueue.remove(el);
|
||||||
@ -8472,7 +8480,6 @@
|
|||||||
className: 'full-image',
|
className: 'full-image',
|
||||||
id: 'ihover'
|
id: 'ihover'
|
||||||
});
|
});
|
||||||
el.dataset.fullID = post.fullID;
|
|
||||||
$.on(el, 'error', ImageHover.error);
|
$.on(el, 'error', ImageHover.error);
|
||||||
el.src = file.URL;
|
el.src = file.URL;
|
||||||
$.after(file.thumb, el);
|
$.after(file.thumb, el);
|
||||||
@ -8498,7 +8505,6 @@
|
|||||||
},
|
},
|
||||||
noRemove: true,
|
noRemove: true,
|
||||||
cb: function() {
|
cb: function() {
|
||||||
$.off(el, 'error', ImageHover.error);
|
|
||||||
if (isVideo) {
|
if (isVideo) {
|
||||||
el.pause();
|
el.pause();
|
||||||
TrashQueue.add(el, post);
|
TrashQueue.add(el, post);
|
||||||
@ -8509,20 +8515,26 @@
|
|||||||
},
|
},
|
||||||
error: function() {
|
error: function() {
|
||||||
var post;
|
var post;
|
||||||
if (!doc.contains(this)) {
|
post = Get.postFromNode(this);
|
||||||
|
if (post.file.isExpanding || post.file.isExpanded) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
post = g.posts[this.dataset.fullID];
|
if (this.id === 'ihover') {
|
||||||
if (ImageCommon.decodeError(this, post)) {
|
if (ImageCommon.decodeError(this, post)) {
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
return ImageCommon.error(this, post, 3 * $.SECOND, (function(_this) {
|
||||||
|
return function(URL) {
|
||||||
|
if (URL) {
|
||||||
|
return _this.src = URL + (_this.src === URL ? '?' + Date.now() : '');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
})(this));
|
||||||
|
} else {
|
||||||
|
$.off(this, 'error', ImageHover.error);
|
||||||
|
$.rm(this);
|
||||||
|
return delete post.file.fullImage;
|
||||||
}
|
}
|
||||||
return ImageCommon.error(this, post, 3 * $.SECOND, (function(_this) {
|
|
||||||
return function(URL) {
|
|
||||||
if (URL) {
|
|
||||||
return _this.src = URL;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
})(this));
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -11201,7 +11213,7 @@
|
|||||||
_ref = $$("#board-list a:not(.catalog), #boardNavDesktopFoot a");
|
_ref = $$("#board-list a:not(.catalog), #boardNavDesktopFoot a");
|
||||||
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
||||||
a = _ref[_i];
|
a = _ref[_i];
|
||||||
if (((_ref1 = a.hostname) !== 'boards.4chan.org' && _ref1 !== 'catalog.neet.tv' && _ref1 !== '4index.gropes.us') || !(board = a.pathname.split('/')[1]) || (board === 'f' || board === 'status' || board === '4chan')) {
|
if (((_ref1 = a.hostname) !== 'boards.4chan.org' && _ref1 !== 'catalog.neet.tv' && _ref1 !== '4index.gropes.us') || !(board = a.pathname.split('/')[1]) || (board === 'f' || board === 'status' || board === '4chan') || $.hasClass(a, 'external')) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
a.href = generateURL(board);
|
a.href = generateURL(board);
|
||||||
@ -12582,7 +12594,7 @@
|
|||||||
Settings.dialog = dialog = $.el('div', {
|
Settings.dialog = dialog = $.el('div', {
|
||||||
id: 'fourchanx-settings',
|
id: 'fourchanx-settings',
|
||||||
className: 'dialog',
|
className: 'dialog',
|
||||||
innerHTML: '<nav><div class=sections-list></div><p class=\'imp-exp-result warning\'></p><div class=credits><a class=export>Export</a> | <a class=import>Import</a> | <a class=reset>Reset Settings</a> | <input type=file hidden><a href=\'https://github.com/ccd0/4chan-x\' target=_blank>4chan X</a> | <a href=\'https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md\' target=_blank>1.8.8.2</a> | <a href=\'https://github.com/ccd0/4chan-x/issues\' target=_blank>Issues</a> | <a href=javascript:; class=\'close fa fa-times\' title=Close></a></div></nav><div class=section-container><section></section></div>'
|
innerHTML: '<nav><div class=sections-list></div><p class=\'imp-exp-result warning\'></p><div class=credits><a class=export>Export</a> | <a class=import>Import</a> | <a class=reset>Reset Settings</a> | <input type=file hidden><a href=\'https://github.com/ccd0/4chan-x\' target=_blank>4chan X</a> | <a href=\'https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md\' target=_blank>1.8.8.3</a> | <a href=\'https://github.com/ccd0/4chan-x/issues\' target=_blank>Issues</a> | <a href=javascript:; class=\'close fa fa-times\' title=Close></a></div></nav><div class=section-container><section></section></div>'
|
||||||
});
|
});
|
||||||
$.on($('.export', Settings.dialog), 'click', Settings["export"]);
|
$.on($('.export', Settings.dialog), 'click', Settings["export"]);
|
||||||
$.on($('.import', Settings.dialog), 'click', Settings["import"]);
|
$.on($('.import', Settings.dialog), 'click', Settings["import"]);
|
||||||
@ -13424,7 +13436,7 @@
|
|||||||
}
|
}
|
||||||
if (previousversion) {
|
if (previousversion) {
|
||||||
el = $.el('span', {
|
el = $.el('span', {
|
||||||
innerHTML: '4chan X has been updated to <a href="https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md" target="_blank">version 1.8.8.2</a>.'
|
innerHTML: '4chan X has been updated to <a href="https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md" target="_blank">version 1.8.8.3</a>.'
|
||||||
});
|
});
|
||||||
new Notice('info', el, 15);
|
new Notice('info', el, 15);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Binary file not shown.
@ -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.8.8.2' />
|
<updatecheck codebase='https://ccd0.github.io/4chan-x/builds/4chan-X-beta.crx' version='1.8.8.3' />
|
||||||
</app>
|
</app>
|
||||||
</gupdate>
|
</gupdate>
|
||||||
|
|
||||||
|
|||||||
@ -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.8.8.2' />
|
<updatecheck codebase='https://ccd0.github.io/4chan-x/builds/4chan-X.crx' version='1.8.8.3' />
|
||||||
</app>
|
</app>
|
||||||
</gupdate>
|
</gupdate>
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "4chan-X",
|
"name": "4chan-X",
|
||||||
"version": "1.8.8.2",
|
"version": "1.8.8.3",
|
||||||
"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",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user