Merge branch 'bstable'
This commit is contained in:
commit
bafb7dc734
@ -4,6 +4,9 @@ Sometimes the changelog has notes (not comprehensive) acknowledging people's wor
|
|||||||
|
|
||||||
### v1.11.13
|
### v1.11.13
|
||||||
|
|
||||||
|
**v1.11.13.9** *(2015-10-24)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.13.9/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.13.9/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||||
|
- Include /r9k/ mute time in cooldowns.
|
||||||
|
|
||||||
**v1.11.13.8** *(2015-10-23)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.13.8/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.13.8/builds/4chan-X-noupdate.crx "Chromium version")]
|
**v1.11.13.8** *(2015-10-23)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.13.8/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.13.8/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||||
- Bugfix: Fix case where LaTeX preview could not be turned off.
|
- Bugfix: Fix case where LaTeX preview could not be turned off.
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X beta
|
// @name 4chan X beta
|
||||||
// @version 1.11.13.8
|
// @version 1.11.13.9
|
||||||
// @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 beta
|
// @name 4chan X beta
|
||||||
// @version 1.11.13.8
|
// @version 1.11.13.9
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
@ -413,7 +413,7 @@
|
|||||||
doc = d.documentElement;
|
doc = d.documentElement;
|
||||||
|
|
||||||
g = {
|
g = {
|
||||||
VERSION: '1.11.13.8',
|
VERSION: '1.11.13.9',
|
||||||
NAMESPACE: '4chan X.',
|
NAMESPACE: '4chan X.',
|
||||||
boards: {}
|
boards: {}
|
||||||
};
|
};
|
||||||
@ -7709,7 +7709,7 @@
|
|||||||
return QR.status();
|
return QR.status();
|
||||||
},
|
},
|
||||||
response: function() {
|
response: function() {
|
||||||
var URL, _, ban, err, h1, isReply, lastPostToThread, m, open, post, postID, postsCount, ref, ref1, req, resDoc, threadID;
|
var URL, _, ban, err, h1, isReply, lastPostToThread, m, open, post, postID, postsCount, ref, ref1, req, resDoc, seconds, threadID;
|
||||||
req = QR.req;
|
req = QR.req;
|
||||||
delete QR.req;
|
delete QR.req;
|
||||||
post = QR.posts[0];
|
post = QR.posts[0];
|
||||||
@ -7741,9 +7741,14 @@
|
|||||||
}
|
}
|
||||||
QR.cooldown.auto = QR.captcha.isEnabled ? !!QR.captcha.captchas.length : err === 'Connection error with sys.4chan.org.' ? true : false;
|
QR.cooldown.auto = QR.captcha.isEnabled ? !!QR.captcha.captchas.length : err === 'Connection error with sys.4chan.org.' ? true : false;
|
||||||
QR.cooldown.addDelay(post, 2);
|
QR.cooldown.addDelay(post, 2);
|
||||||
} else if (err.textContent && (m = err.textContent.match(/wait\s+(\d+)\s+second/i)) && !/duplicate/i.test(err.textContent)) {
|
} else if (err.textContent && (m = err.textContent.match(/(?:(\d+)\s+minutes?\s+)?(\d+)\s+second/i)) && !/duplicate|hour/i.test(err.textContent)) {
|
||||||
QR.cooldown.auto = QR.captcha.isEnabled ? !!QR.captcha.captchas.length : true;
|
QR.cooldown.auto = (!QR.captcha.isEnabled || !!QR.captcha.captchas.length) && !/have\s+been\s+muted/i.test(err.textContent);
|
||||||
QR.cooldown.addDelay(post, +m[1]);
|
seconds = 60 * (+(m[1] || 0)) + (+m[2]);
|
||||||
|
if (/muted/i.test(err.textContent)) {
|
||||||
|
QR.cooldown.addMute(seconds);
|
||||||
|
} else {
|
||||||
|
QR.cooldown.addDelay(post, seconds);
|
||||||
|
}
|
||||||
QR.captcha.setup(d.activeElement === QR.nodes.status);
|
QR.captcha.setup(d.activeElement === QR.nodes.status);
|
||||||
} else {
|
} else {
|
||||||
QR.cooldown.auto = false;
|
QR.cooldown.auto = false;
|
||||||
@ -8769,6 +8774,16 @@
|
|||||||
QR.cooldown.set(g.BOARD.ID, Date.now(), cooldown);
|
QR.cooldown.set(g.BOARD.ID, Date.now(), cooldown);
|
||||||
return QR.cooldown.start();
|
return QR.cooldown.start();
|
||||||
},
|
},
|
||||||
|
addMute: function(delay) {
|
||||||
|
if (!Conf['Cooldown']) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
QR.cooldown.set(g.BOARD.ID, Date.now(), {
|
||||||
|
type: 'mute',
|
||||||
|
delay: delay
|
||||||
|
});
|
||||||
|
return QR.cooldown.start();
|
||||||
|
},
|
||||||
"delete": function(post) {
|
"delete": function(post) {
|
||||||
var base1, cooldown, cooldowns, id, name1;
|
var base1, cooldown, cooldowns, id, name1;
|
||||||
if (!Conf['Cooldown']) {
|
if (!Conf['Cooldown']) {
|
||||||
@ -8854,7 +8869,7 @@
|
|||||||
if (cooldown.delay <= elapsed) {
|
if (cooldown.delay <= elapsed) {
|
||||||
delete cooldowns[start];
|
delete cooldowns[start];
|
||||||
save.push(scope);
|
save.push(scope);
|
||||||
} else if (cooldown.type === type && cooldown.threadID === threadID) {
|
} else if ((cooldown.type === type && cooldown.threadID === threadID) || cooldown.type === 'mute') {
|
||||||
seconds = Math.max(seconds, cooldown.delay - elapsed);
|
seconds = Math.max(seconds, cooldown.delay - elapsed);
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
Binary file not shown.
@ -1,7 +1,7 @@
|
|||||||
// Generated by CoffeeScript
|
// Generated by CoffeeScript
|
||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X
|
// @name 4chan X
|
||||||
// @version 1.11.13.8
|
// @version 1.11.13.9
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
@ -413,7 +413,7 @@
|
|||||||
doc = d.documentElement;
|
doc = d.documentElement;
|
||||||
|
|
||||||
g = {
|
g = {
|
||||||
VERSION: '1.11.13.8',
|
VERSION: '1.11.13.9',
|
||||||
NAMESPACE: '4chan X.',
|
NAMESPACE: '4chan X.',
|
||||||
boards: {}
|
boards: {}
|
||||||
};
|
};
|
||||||
@ -7709,7 +7709,7 @@
|
|||||||
return QR.status();
|
return QR.status();
|
||||||
},
|
},
|
||||||
response: function() {
|
response: function() {
|
||||||
var URL, _, ban, err, h1, isReply, lastPostToThread, m, open, post, postID, postsCount, ref, ref1, req, resDoc, threadID;
|
var URL, _, ban, err, h1, isReply, lastPostToThread, m, open, post, postID, postsCount, ref, ref1, req, resDoc, seconds, threadID;
|
||||||
req = QR.req;
|
req = QR.req;
|
||||||
delete QR.req;
|
delete QR.req;
|
||||||
post = QR.posts[0];
|
post = QR.posts[0];
|
||||||
@ -7741,9 +7741,14 @@
|
|||||||
}
|
}
|
||||||
QR.cooldown.auto = QR.captcha.isEnabled ? !!QR.captcha.captchas.length : err === 'Connection error with sys.4chan.org.' ? true : false;
|
QR.cooldown.auto = QR.captcha.isEnabled ? !!QR.captcha.captchas.length : err === 'Connection error with sys.4chan.org.' ? true : false;
|
||||||
QR.cooldown.addDelay(post, 2);
|
QR.cooldown.addDelay(post, 2);
|
||||||
} else if (err.textContent && (m = err.textContent.match(/wait\s+(\d+)\s+second/i)) && !/duplicate/i.test(err.textContent)) {
|
} else if (err.textContent && (m = err.textContent.match(/(?:(\d+)\s+minutes?\s+)?(\d+)\s+second/i)) && !/duplicate|hour/i.test(err.textContent)) {
|
||||||
QR.cooldown.auto = QR.captcha.isEnabled ? !!QR.captcha.captchas.length : true;
|
QR.cooldown.auto = (!QR.captcha.isEnabled || !!QR.captcha.captchas.length) && !/have\s+been\s+muted/i.test(err.textContent);
|
||||||
QR.cooldown.addDelay(post, +m[1]);
|
seconds = 60 * (+(m[1] || 0)) + (+m[2]);
|
||||||
|
if (/muted/i.test(err.textContent)) {
|
||||||
|
QR.cooldown.addMute(seconds);
|
||||||
|
} else {
|
||||||
|
QR.cooldown.addDelay(post, seconds);
|
||||||
|
}
|
||||||
QR.captcha.setup(d.activeElement === QR.nodes.status);
|
QR.captcha.setup(d.activeElement === QR.nodes.status);
|
||||||
} else {
|
} else {
|
||||||
QR.cooldown.auto = false;
|
QR.cooldown.auto = false;
|
||||||
@ -8769,6 +8774,16 @@
|
|||||||
QR.cooldown.set(g.BOARD.ID, Date.now(), cooldown);
|
QR.cooldown.set(g.BOARD.ID, Date.now(), cooldown);
|
||||||
return QR.cooldown.start();
|
return QR.cooldown.start();
|
||||||
},
|
},
|
||||||
|
addMute: function(delay) {
|
||||||
|
if (!Conf['Cooldown']) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
QR.cooldown.set(g.BOARD.ID, Date.now(), {
|
||||||
|
type: 'mute',
|
||||||
|
delay: delay
|
||||||
|
});
|
||||||
|
return QR.cooldown.start();
|
||||||
|
},
|
||||||
"delete": function(post) {
|
"delete": function(post) {
|
||||||
var base1, cooldown, cooldowns, id, name1;
|
var base1, cooldown, cooldowns, id, name1;
|
||||||
if (!Conf['Cooldown']) {
|
if (!Conf['Cooldown']) {
|
||||||
@ -8854,7 +8869,7 @@
|
|||||||
if (cooldown.delay <= elapsed) {
|
if (cooldown.delay <= elapsed) {
|
||||||
delete cooldowns[start];
|
delete cooldowns[start];
|
||||||
save.push(scope);
|
save.push(scope);
|
||||||
} else if (cooldown.type === type && cooldown.threadID === threadID) {
|
} else if ((cooldown.type === type && cooldown.threadID === threadID) || cooldown.type === 'mute') {
|
||||||
seconds = Math.max(seconds, cooldown.delay - elapsed);
|
seconds = Math.max(seconds, cooldown.delay - elapsed);
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X
|
// @name 4chan X
|
||||||
// @version 1.11.13.8
|
// @version 1.11.13.9
|
||||||
// @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.11.13.8
|
// @version 1.11.13.9
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
@ -413,7 +413,7 @@
|
|||||||
doc = d.documentElement;
|
doc = d.documentElement;
|
||||||
|
|
||||||
g = {
|
g = {
|
||||||
VERSION: '1.11.13.8',
|
VERSION: '1.11.13.9',
|
||||||
NAMESPACE: '4chan X.',
|
NAMESPACE: '4chan X.',
|
||||||
boards: {}
|
boards: {}
|
||||||
};
|
};
|
||||||
@ -7709,7 +7709,7 @@
|
|||||||
return QR.status();
|
return QR.status();
|
||||||
},
|
},
|
||||||
response: function() {
|
response: function() {
|
||||||
var URL, _, ban, err, h1, isReply, lastPostToThread, m, open, post, postID, postsCount, ref, ref1, req, resDoc, threadID;
|
var URL, _, ban, err, h1, isReply, lastPostToThread, m, open, post, postID, postsCount, ref, ref1, req, resDoc, seconds, threadID;
|
||||||
req = QR.req;
|
req = QR.req;
|
||||||
delete QR.req;
|
delete QR.req;
|
||||||
post = QR.posts[0];
|
post = QR.posts[0];
|
||||||
@ -7741,9 +7741,14 @@
|
|||||||
}
|
}
|
||||||
QR.cooldown.auto = QR.captcha.isEnabled ? !!QR.captcha.captchas.length : err === 'Connection error with sys.4chan.org.' ? true : false;
|
QR.cooldown.auto = QR.captcha.isEnabled ? !!QR.captcha.captchas.length : err === 'Connection error with sys.4chan.org.' ? true : false;
|
||||||
QR.cooldown.addDelay(post, 2);
|
QR.cooldown.addDelay(post, 2);
|
||||||
} else if (err.textContent && (m = err.textContent.match(/wait\s+(\d+)\s+second/i)) && !/duplicate/i.test(err.textContent)) {
|
} else if (err.textContent && (m = err.textContent.match(/(?:(\d+)\s+minutes?\s+)?(\d+)\s+second/i)) && !/duplicate|hour/i.test(err.textContent)) {
|
||||||
QR.cooldown.auto = QR.captcha.isEnabled ? !!QR.captcha.captchas.length : true;
|
QR.cooldown.auto = (!QR.captcha.isEnabled || !!QR.captcha.captchas.length) && !/have\s+been\s+muted/i.test(err.textContent);
|
||||||
QR.cooldown.addDelay(post, +m[1]);
|
seconds = 60 * (+(m[1] || 0)) + (+m[2]);
|
||||||
|
if (/muted/i.test(err.textContent)) {
|
||||||
|
QR.cooldown.addMute(seconds);
|
||||||
|
} else {
|
||||||
|
QR.cooldown.addDelay(post, seconds);
|
||||||
|
}
|
||||||
QR.captcha.setup(d.activeElement === QR.nodes.status);
|
QR.captcha.setup(d.activeElement === QR.nodes.status);
|
||||||
} else {
|
} else {
|
||||||
QR.cooldown.auto = false;
|
QR.cooldown.auto = false;
|
||||||
@ -8769,6 +8774,16 @@
|
|||||||
QR.cooldown.set(g.BOARD.ID, Date.now(), cooldown);
|
QR.cooldown.set(g.BOARD.ID, Date.now(), cooldown);
|
||||||
return QR.cooldown.start();
|
return QR.cooldown.start();
|
||||||
},
|
},
|
||||||
|
addMute: function(delay) {
|
||||||
|
if (!Conf['Cooldown']) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
QR.cooldown.set(g.BOARD.ID, Date.now(), {
|
||||||
|
type: 'mute',
|
||||||
|
delay: delay
|
||||||
|
});
|
||||||
|
return QR.cooldown.start();
|
||||||
|
},
|
||||||
"delete": function(post) {
|
"delete": function(post) {
|
||||||
var base1, cooldown, cooldowns, id, name1;
|
var base1, cooldown, cooldowns, id, name1;
|
||||||
if (!Conf['Cooldown']) {
|
if (!Conf['Cooldown']) {
|
||||||
@ -8854,7 +8869,7 @@
|
|||||||
if (cooldown.delay <= elapsed) {
|
if (cooldown.delay <= elapsed) {
|
||||||
delete cooldowns[start];
|
delete cooldowns[start];
|
||||||
save.push(scope);
|
save.push(scope);
|
||||||
} else if (cooldown.type === type && cooldown.threadID === threadID) {
|
} else if ((cooldown.type === type && cooldown.threadID === threadID) || cooldown.type === 'mute') {
|
||||||
seconds = Math.max(seconds, cooldown.delay - elapsed);
|
seconds = Math.max(seconds, cooldown.delay - elapsed);
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
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://www.4chan-x.net/builds/4chan-X-beta.crx' version='1.11.13.8' />
|
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X-beta.crx' version='1.11.13.9' />
|
||||||
</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://www.4chan-x.net/builds/4chan-X.crx' version='1.11.13.8' />
|
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X.crx' version='1.11.13.9' />
|
||||||
</app>
|
</app>
|
||||||
</gupdate>
|
</gupdate>
|
||||||
|
|
||||||
|
|||||||
@ -4,8 +4,8 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"name": "4chan X",
|
"name": "4chan X",
|
||||||
"fork": "ccd0",
|
"fork": "ccd0",
|
||||||
"version": "1.11.13.8",
|
"version": "1.11.13.9",
|
||||||
"date": "2015-10-24T02:39:06.584Z",
|
"date": "2015-10-25T00:38:31.311Z",
|
||||||
"page": "https://www.4chan-x.net/",
|
"page": "https://www.4chan-x.net/",
|
||||||
"downloads": "https://www.4chan-x.net/builds/",
|
"downloads": "https://www.4chan-x.net/builds/",
|
||||||
"oldVersions": "https://raw.githubusercontent.com/ccd0/4chan-x/",
|
"oldVersions": "https://raw.githubusercontent.com/ccd0/4chan-x/",
|
||||||
|
|||||||
@ -773,12 +773,13 @@ QR =
|
|||||||
# Too many frequent mistyped captchas will auto-ban you!
|
# Too many frequent mistyped captchas will auto-ban you!
|
||||||
# On connection error, the post most likely didn't go through.
|
# On connection error, the post most likely didn't go through.
|
||||||
QR.cooldown.addDelay post, 2
|
QR.cooldown.addDelay post, 2
|
||||||
else if err.textContent and (m = err.textContent.match /wait\s+(\d+)\s+second/i) and !/duplicate/i.test err.textContent
|
else if err.textContent and (m = err.textContent.match /(?:(\d+)\s+minutes?\s+)?(\d+)\s+second/i) and !/duplicate|hour/i.test(err.textContent)
|
||||||
QR.cooldown.auto = if QR.captcha.isEnabled
|
QR.cooldown.auto = (!QR.captcha.isEnabled or !!QR.captcha.captchas.length) and !/have\s+been\s+muted/i.test(err.textContent)
|
||||||
!!QR.captcha.captchas.length
|
seconds = 60 * (+(m[1]||0)) + (+m[2])
|
||||||
|
if /muted/i.test err.textContent
|
||||||
|
QR.cooldown.addMute seconds
|
||||||
else
|
else
|
||||||
true
|
QR.cooldown.addDelay post, seconds
|
||||||
QR.cooldown.addDelay post, +m[1]
|
|
||||||
QR.captcha.setup (d.activeElement is QR.nodes.status)
|
QR.captcha.setup (d.activeElement is QR.nodes.status)
|
||||||
else # stop auto-posting
|
else # stop auto-posting
|
||||||
QR.cooldown.auto = false
|
QR.cooldown.auto = false
|
||||||
|
|||||||
@ -60,6 +60,11 @@ QR.cooldown =
|
|||||||
QR.cooldown.set g.BOARD.ID, Date.now(), cooldown
|
QR.cooldown.set g.BOARD.ID, Date.now(), cooldown
|
||||||
QR.cooldown.start()
|
QR.cooldown.start()
|
||||||
|
|
||||||
|
addMute: (delay) ->
|
||||||
|
return unless Conf['Cooldown']
|
||||||
|
QR.cooldown.set g.BOARD.ID, Date.now(), {type: 'mute', delay}
|
||||||
|
QR.cooldown.start()
|
||||||
|
|
||||||
delete: (post) ->
|
delete: (post) ->
|
||||||
return unless Conf['Cooldown']
|
return unless Conf['Cooldown']
|
||||||
$.forceSync 'cooldowns'
|
$.forceSync 'cooldowns'
|
||||||
@ -121,7 +126,7 @@ QR.cooldown =
|
|||||||
if cooldown.delay <= elapsed
|
if cooldown.delay <= elapsed
|
||||||
delete cooldowns[start]
|
delete cooldowns[start]
|
||||||
save.push scope
|
save.push scope
|
||||||
else if cooldown.type is type and cooldown.threadID is threadID
|
else if (cooldown.type is type and cooldown.threadID is threadID) or cooldown.type is 'mute'
|
||||||
# Delays only apply to the given post type and thread.
|
# Delays only apply to the given post type and thread.
|
||||||
seconds = Math.max seconds, cooldown.delay - elapsed
|
seconds = Math.max seconds, cooldown.delay - elapsed
|
||||||
continue
|
continue
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user