Release 4chan X v1.14.0.3.
This commit is contained in:
parent
ecc6fa452e
commit
e0774410dd
@ -4,6 +4,10 @@
|
|||||||
|
|
||||||
## v1.14.0
|
## v1.14.0
|
||||||
|
|
||||||
|
**v1.14.0.3** *(2018-01-25)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.0.3/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.0.3/builds/4chan-X-noupdate.crx)]
|
||||||
|
- Merge v1.13.15.6: Bugfix to captcha opening logic. Don't ask user for new captchas when we have a bypass cookie or at least one captcha, even when many posts are queued.
|
||||||
|
- Merge v1.13.15.6: Do not save captchas to disk or share them between tabs. They are too short-lived to be worth it now. This should reduce associated I/O errors.
|
||||||
|
|
||||||
**v1.14.0.2** *(2018-01-24)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.0.2/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.0.2/builds/4chan-X-noupdate.crx)]
|
**v1.14.0.2** *(2018-01-24)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.0.2/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.0.2/builds/4chan-X-noupdate.crx)]
|
||||||
- Small bugfixes for Tinyboard.
|
- Small bugfixes for Tinyboard.
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X beta
|
// @name 4chan X beta
|
||||||
// @version 1.14.0.2
|
// @version 1.14.0.3
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X beta
|
// @name 4chan X beta
|
||||||
// @version 1.14.0.2
|
// @version 1.14.0.3
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
@ -157,7 +157,7 @@ docSet = function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
g = {
|
g = {
|
||||||
VERSION: '1.14.0.2',
|
VERSION: '1.14.0.3',
|
||||||
NAMESPACE: '4chan X.',
|
NAMESPACE: '4chan X.',
|
||||||
boards: {}
|
boards: {}
|
||||||
};
|
};
|
||||||
@ -5274,7 +5274,7 @@ $ = (function() {
|
|||||||
});
|
});
|
||||||
$.clear = function(cb) {
|
$.clear = function(cb) {
|
||||||
$["delete"](Object.keys(Conf));
|
$["delete"](Object.keys(Conf));
|
||||||
$["delete"](['previousversion', 'QR Size', 'captchas', 'QR.persona', 'hiddenPSA']);
|
$["delete"](['previousversion', 'QR Size', 'QR.persona', 'hiddenPSA']);
|
||||||
try {
|
try {
|
||||||
$["delete"]($.listValues().map(function(key) {
|
$["delete"]($.listValues().map(function(key) {
|
||||||
return key.replace(g.NAMESPACE, '');
|
return key.replace(g.NAMESPACE, '');
|
||||||
@ -20579,15 +20579,6 @@ Captcha = {};
|
|||||||
(function() {
|
(function() {
|
||||||
Captcha.cache = {
|
Captcha.cache = {
|
||||||
init: function() {
|
init: function() {
|
||||||
$.get('captchas', [], (function(_this) {
|
|
||||||
return function(arg) {
|
|
||||||
var captchas;
|
|
||||||
captchas = arg.captchas;
|
|
||||||
_this.sync(captchas);
|
|
||||||
return _this.clear();
|
|
||||||
};
|
|
||||||
})(this));
|
|
||||||
$.sync('captchas', this.sync.bind(this));
|
|
||||||
return $.on(d, 'SaveCaptcha', (function(_this) {
|
return $.on(d, 'SaveCaptcha', (function(_this) {
|
||||||
return function(e) {
|
return function(e) {
|
||||||
return _this.save(e.detail);
|
return _this.save(e.detail);
|
||||||
@ -20599,26 +20590,7 @@ Captcha = {};
|
|||||||
return this.captchas.length;
|
return this.captchas.length;
|
||||||
},
|
},
|
||||||
needed: function() {
|
needed: function() {
|
||||||
var captchaCount, postsCount;
|
return !(/\b_ct=/.test(d.cookie) || this.captchas.length || QR.req) && (QR.posts.length > 1 || Conf['Auto-load captcha'] || QR.posts[0].com || QR.posts[0].file);
|
||||||
captchaCount = this.captchas.length;
|
|
||||||
if (QR.req || /\b_ct=/.test(d.cookie)) {
|
|
||||||
captchaCount++;
|
|
||||||
}
|
|
||||||
postsCount = QR.posts.length;
|
|
||||||
if (postsCount === 1 && !Conf['Auto-load captcha'] && !QR.posts[0].com && !QR.posts[0].file) {
|
|
||||||
postsCount = 0;
|
|
||||||
}
|
|
||||||
return captchaCount < postsCount;
|
|
||||||
},
|
|
||||||
sync: function(captchas) {
|
|
||||||
if (captchas == null) {
|
|
||||||
captchas = [];
|
|
||||||
}
|
|
||||||
if (!(captchas instanceof Array)) {
|
|
||||||
captchas = [];
|
|
||||||
}
|
|
||||||
this.captchas = captchas;
|
|
||||||
return this.count();
|
|
||||||
},
|
},
|
||||||
getOne: function(isReply) {
|
getOne: function(isReply) {
|
||||||
var captcha, i;
|
var captcha, i;
|
||||||
@ -20628,7 +20600,6 @@ Captcha = {};
|
|||||||
});
|
});
|
||||||
if (i >= 0) {
|
if (i >= 0) {
|
||||||
captcha = this.captchas.splice(i, 1)[0];
|
captcha = this.captchas.splice(i, 1)[0];
|
||||||
$.set('captchas', this.captchas);
|
|
||||||
this.count();
|
this.count();
|
||||||
return captcha;
|
return captcha;
|
||||||
} else {
|
} else {
|
||||||
@ -20636,17 +20607,14 @@ Captcha = {};
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
save: function(captcha) {
|
save: function(captcha) {
|
||||||
$.forceSync('captchas');
|
|
||||||
this.captchas.push(captcha);
|
this.captchas.push(captcha);
|
||||||
this.captchas.sort(function(a, b) {
|
this.captchas.sort(function(a, b) {
|
||||||
return a.timeout - b.timeout;
|
return a.timeout - b.timeout;
|
||||||
});
|
});
|
||||||
$.set('captchas', this.captchas);
|
|
||||||
return this.count();
|
return this.count();
|
||||||
},
|
},
|
||||||
clear: function() {
|
clear: function() {
|
||||||
var captcha, i, j, len, now, ref;
|
var captcha, i, j, len, now, ref;
|
||||||
$.forceSync('captchas');
|
|
||||||
if (this.captchas.length) {
|
if (this.captchas.length) {
|
||||||
now = Date.now();
|
now = Date.now();
|
||||||
ref = this.captchas;
|
ref = this.captchas;
|
||||||
@ -20658,7 +20626,6 @@ Captcha = {};
|
|||||||
}
|
}
|
||||||
if (i) {
|
if (i) {
|
||||||
this.captchas = this.captchas.slice(i);
|
this.captchas = this.captchas.slice(i);
|
||||||
$.set('captchas', this.captchas);
|
|
||||||
return this.count();
|
return this.count();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X
|
// @name 4chan X
|
||||||
// @version 1.14.0.2
|
// @version 1.14.0.3
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
@ -157,7 +157,7 @@ docSet = function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
g = {
|
g = {
|
||||||
VERSION: '1.14.0.2',
|
VERSION: '1.14.0.3',
|
||||||
NAMESPACE: '4chan X.',
|
NAMESPACE: '4chan X.',
|
||||||
boards: {}
|
boards: {}
|
||||||
};
|
};
|
||||||
@ -5274,7 +5274,7 @@ $ = (function() {
|
|||||||
});
|
});
|
||||||
$.clear = function(cb) {
|
$.clear = function(cb) {
|
||||||
$["delete"](Object.keys(Conf));
|
$["delete"](Object.keys(Conf));
|
||||||
$["delete"](['previousversion', 'QR Size', 'captchas', 'QR.persona', 'hiddenPSA']);
|
$["delete"](['previousversion', 'QR Size', 'QR.persona', 'hiddenPSA']);
|
||||||
try {
|
try {
|
||||||
$["delete"]($.listValues().map(function(key) {
|
$["delete"]($.listValues().map(function(key) {
|
||||||
return key.replace(g.NAMESPACE, '');
|
return key.replace(g.NAMESPACE, '');
|
||||||
@ -20579,15 +20579,6 @@ Captcha = {};
|
|||||||
(function() {
|
(function() {
|
||||||
Captcha.cache = {
|
Captcha.cache = {
|
||||||
init: function() {
|
init: function() {
|
||||||
$.get('captchas', [], (function(_this) {
|
|
||||||
return function(arg) {
|
|
||||||
var captchas;
|
|
||||||
captchas = arg.captchas;
|
|
||||||
_this.sync(captchas);
|
|
||||||
return _this.clear();
|
|
||||||
};
|
|
||||||
})(this));
|
|
||||||
$.sync('captchas', this.sync.bind(this));
|
|
||||||
return $.on(d, 'SaveCaptcha', (function(_this) {
|
return $.on(d, 'SaveCaptcha', (function(_this) {
|
||||||
return function(e) {
|
return function(e) {
|
||||||
return _this.save(e.detail);
|
return _this.save(e.detail);
|
||||||
@ -20599,26 +20590,7 @@ Captcha = {};
|
|||||||
return this.captchas.length;
|
return this.captchas.length;
|
||||||
},
|
},
|
||||||
needed: function() {
|
needed: function() {
|
||||||
var captchaCount, postsCount;
|
return !(/\b_ct=/.test(d.cookie) || this.captchas.length || QR.req) && (QR.posts.length > 1 || Conf['Auto-load captcha'] || QR.posts[0].com || QR.posts[0].file);
|
||||||
captchaCount = this.captchas.length;
|
|
||||||
if (QR.req || /\b_ct=/.test(d.cookie)) {
|
|
||||||
captchaCount++;
|
|
||||||
}
|
|
||||||
postsCount = QR.posts.length;
|
|
||||||
if (postsCount === 1 && !Conf['Auto-load captcha'] && !QR.posts[0].com && !QR.posts[0].file) {
|
|
||||||
postsCount = 0;
|
|
||||||
}
|
|
||||||
return captchaCount < postsCount;
|
|
||||||
},
|
|
||||||
sync: function(captchas) {
|
|
||||||
if (captchas == null) {
|
|
||||||
captchas = [];
|
|
||||||
}
|
|
||||||
if (!(captchas instanceof Array)) {
|
|
||||||
captchas = [];
|
|
||||||
}
|
|
||||||
this.captchas = captchas;
|
|
||||||
return this.count();
|
|
||||||
},
|
},
|
||||||
getOne: function(isReply) {
|
getOne: function(isReply) {
|
||||||
var captcha, i;
|
var captcha, i;
|
||||||
@ -20628,7 +20600,6 @@ Captcha = {};
|
|||||||
});
|
});
|
||||||
if (i >= 0) {
|
if (i >= 0) {
|
||||||
captcha = this.captchas.splice(i, 1)[0];
|
captcha = this.captchas.splice(i, 1)[0];
|
||||||
$.set('captchas', this.captchas);
|
|
||||||
this.count();
|
this.count();
|
||||||
return captcha;
|
return captcha;
|
||||||
} else {
|
} else {
|
||||||
@ -20636,17 +20607,14 @@ Captcha = {};
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
save: function(captcha) {
|
save: function(captcha) {
|
||||||
$.forceSync('captchas');
|
|
||||||
this.captchas.push(captcha);
|
this.captchas.push(captcha);
|
||||||
this.captchas.sort(function(a, b) {
|
this.captchas.sort(function(a, b) {
|
||||||
return a.timeout - b.timeout;
|
return a.timeout - b.timeout;
|
||||||
});
|
});
|
||||||
$.set('captchas', this.captchas);
|
|
||||||
return this.count();
|
return this.count();
|
||||||
},
|
},
|
||||||
clear: function() {
|
clear: function() {
|
||||||
var captcha, i, j, len, now, ref;
|
var captcha, i, j, len, now, ref;
|
||||||
$.forceSync('captchas');
|
|
||||||
if (this.captchas.length) {
|
if (this.captchas.length) {
|
||||||
now = Date.now();
|
now = Date.now();
|
||||||
ref = this.captchas;
|
ref = this.captchas;
|
||||||
@ -20658,7 +20626,6 @@ Captcha = {};
|
|||||||
}
|
}
|
||||||
if (i) {
|
if (i) {
|
||||||
this.captchas = this.captchas.slice(i);
|
this.captchas = this.captchas.slice(i);
|
||||||
$.set('captchas', this.captchas);
|
|
||||||
return this.count();
|
return this.count();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X
|
// @name 4chan X
|
||||||
// @version 1.14.0.2
|
// @version 1.14.0.3
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X
|
// @name 4chan X
|
||||||
// @version 1.14.0.2
|
// @version 1.14.0.3
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
@ -157,7 +157,7 @@ docSet = function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
g = {
|
g = {
|
||||||
VERSION: '1.14.0.2',
|
VERSION: '1.14.0.3',
|
||||||
NAMESPACE: '4chan X.',
|
NAMESPACE: '4chan X.',
|
||||||
boards: {}
|
boards: {}
|
||||||
};
|
};
|
||||||
@ -5274,7 +5274,7 @@ $ = (function() {
|
|||||||
});
|
});
|
||||||
$.clear = function(cb) {
|
$.clear = function(cb) {
|
||||||
$["delete"](Object.keys(Conf));
|
$["delete"](Object.keys(Conf));
|
||||||
$["delete"](['previousversion', 'QR Size', 'captchas', 'QR.persona', 'hiddenPSA']);
|
$["delete"](['previousversion', 'QR Size', 'QR.persona', 'hiddenPSA']);
|
||||||
try {
|
try {
|
||||||
$["delete"]($.listValues().map(function(key) {
|
$["delete"]($.listValues().map(function(key) {
|
||||||
return key.replace(g.NAMESPACE, '');
|
return key.replace(g.NAMESPACE, '');
|
||||||
@ -20579,15 +20579,6 @@ Captcha = {};
|
|||||||
(function() {
|
(function() {
|
||||||
Captcha.cache = {
|
Captcha.cache = {
|
||||||
init: function() {
|
init: function() {
|
||||||
$.get('captchas', [], (function(_this) {
|
|
||||||
return function(arg) {
|
|
||||||
var captchas;
|
|
||||||
captchas = arg.captchas;
|
|
||||||
_this.sync(captchas);
|
|
||||||
return _this.clear();
|
|
||||||
};
|
|
||||||
})(this));
|
|
||||||
$.sync('captchas', this.sync.bind(this));
|
|
||||||
return $.on(d, 'SaveCaptcha', (function(_this) {
|
return $.on(d, 'SaveCaptcha', (function(_this) {
|
||||||
return function(e) {
|
return function(e) {
|
||||||
return _this.save(e.detail);
|
return _this.save(e.detail);
|
||||||
@ -20599,26 +20590,7 @@ Captcha = {};
|
|||||||
return this.captchas.length;
|
return this.captchas.length;
|
||||||
},
|
},
|
||||||
needed: function() {
|
needed: function() {
|
||||||
var captchaCount, postsCount;
|
return !(/\b_ct=/.test(d.cookie) || this.captchas.length || QR.req) && (QR.posts.length > 1 || Conf['Auto-load captcha'] || QR.posts[0].com || QR.posts[0].file);
|
||||||
captchaCount = this.captchas.length;
|
|
||||||
if (QR.req || /\b_ct=/.test(d.cookie)) {
|
|
||||||
captchaCount++;
|
|
||||||
}
|
|
||||||
postsCount = QR.posts.length;
|
|
||||||
if (postsCount === 1 && !Conf['Auto-load captcha'] && !QR.posts[0].com && !QR.posts[0].file) {
|
|
||||||
postsCount = 0;
|
|
||||||
}
|
|
||||||
return captchaCount < postsCount;
|
|
||||||
},
|
|
||||||
sync: function(captchas) {
|
|
||||||
if (captchas == null) {
|
|
||||||
captchas = [];
|
|
||||||
}
|
|
||||||
if (!(captchas instanceof Array)) {
|
|
||||||
captchas = [];
|
|
||||||
}
|
|
||||||
this.captchas = captchas;
|
|
||||||
return this.count();
|
|
||||||
},
|
},
|
||||||
getOne: function(isReply) {
|
getOne: function(isReply) {
|
||||||
var captcha, i;
|
var captcha, i;
|
||||||
@ -20628,7 +20600,6 @@ Captcha = {};
|
|||||||
});
|
});
|
||||||
if (i >= 0) {
|
if (i >= 0) {
|
||||||
captcha = this.captchas.splice(i, 1)[0];
|
captcha = this.captchas.splice(i, 1)[0];
|
||||||
$.set('captchas', this.captchas);
|
|
||||||
this.count();
|
this.count();
|
||||||
return captcha;
|
return captcha;
|
||||||
} else {
|
} else {
|
||||||
@ -20636,17 +20607,14 @@ Captcha = {};
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
save: function(captcha) {
|
save: function(captcha) {
|
||||||
$.forceSync('captchas');
|
|
||||||
this.captchas.push(captcha);
|
this.captchas.push(captcha);
|
||||||
this.captchas.sort(function(a, b) {
|
this.captchas.sort(function(a, b) {
|
||||||
return a.timeout - b.timeout;
|
return a.timeout - b.timeout;
|
||||||
});
|
});
|
||||||
$.set('captchas', this.captchas);
|
|
||||||
return this.count();
|
return this.count();
|
||||||
},
|
},
|
||||||
clear: function() {
|
clear: function() {
|
||||||
var captcha, i, j, len, now, ref;
|
var captcha, i, j, len, now, ref;
|
||||||
$.forceSync('captchas');
|
|
||||||
if (this.captchas.length) {
|
if (this.captchas.length) {
|
||||||
now = Date.now();
|
now = Date.now();
|
||||||
ref = this.captchas;
|
ref = this.captchas;
|
||||||
@ -20658,7 +20626,6 @@ Captcha = {};
|
|||||||
}
|
}
|
||||||
if (i) {
|
if (i) {
|
||||||
this.captchas = this.captchas.slice(i);
|
this.captchas = this.captchas.slice(i);
|
||||||
$.set('captchas', this.captchas);
|
|
||||||
return this.count();
|
return this.count();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
@ -3,7 +3,7 @@
|
|||||||
"4chan-x@4chan-x.net": {
|
"4chan-x@4chan-x.net": {
|
||||||
"updates": [
|
"updates": [
|
||||||
{
|
{
|
||||||
"version": "1.14.0.2",
|
"version": "1.14.0.3",
|
||||||
"update_link": "https://www.4chan-x.net/builds/4chan-X-beta.crx"
|
"update_link": "https://www.4chan-x.net/builds/4chan-X-beta.crx"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -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.14.0.2' />
|
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X-beta.crx' version='1.14.0.3' />
|
||||||
</app>
|
</app>
|
||||||
</gupdate>
|
</gupdate>
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
"4chan-x@4chan-x.net": {
|
"4chan-x@4chan-x.net": {
|
||||||
"updates": [
|
"updates": [
|
||||||
{
|
{
|
||||||
"version": "1.14.0.2",
|
"version": "1.14.0.3",
|
||||||
"update_link": "https://www.4chan-x.net/builds/4chan-X.crx"
|
"update_link": "https://www.4chan-x.net/builds/4chan-X.crx"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -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.14.0.2' />
|
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X.crx' version='1.14.0.3' />
|
||||||
</app>
|
</app>
|
||||||
</gupdate>
|
</gupdate>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
{
|
{
|
||||||
"version": "1.14.0.2",
|
"version": "1.14.0.3",
|
||||||
"date": "2018-01-24T22:15:19.430Z"
|
"date": "2018-01-25T00:58:59.931Z"
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user