Release 4chan X v1.13.0.18.
This commit is contained in:
parent
bc3099caa7
commit
ebd5bb0839
@ -4,6 +4,9 @@
|
|||||||
|
|
||||||
## v1.13.0
|
## v1.13.0
|
||||||
|
|
||||||
|
**v1.13.0.18** *(2016-10-31)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.13.0.18/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.13.0.18/builds/4chan-X-noupdate.crx)]
|
||||||
|
- Improve robustness against invalid settings data, including thread watcher timestamps from future.
|
||||||
|
|
||||||
**v1.13.0.17** *(2016-10-30)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.13.0.17/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.13.0.17/builds/4chan-X-noupdate.crx)]
|
**v1.13.0.17** *(2016-10-30)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.13.0.17/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.13.0.17/builds/4chan-X-noupdate.crx)]
|
||||||
- Various regression and bug fixes.
|
- Various regression and bug fixes.
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X beta
|
// @name 4chan X beta
|
||||||
// @version 1.13.0.17
|
// @version 1.13.0.18
|
||||||
// @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.13.0.17
|
// @version 1.13.0.18
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
@ -147,7 +147,7 @@ docSet = function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
g = {
|
g = {
|
||||||
VERSION: '1.13.0.17',
|
VERSION: '1.13.0.18',
|
||||||
NAMESPACE: '4chan X.',
|
NAMESPACE: '4chan X.',
|
||||||
boards: {}
|
boards: {}
|
||||||
};
|
};
|
||||||
@ -5321,7 +5321,7 @@ DataBoard = (function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
DataBoard.prototype.clean = function() {
|
DataBoard.prototype.clean = function() {
|
||||||
var boardID, now, ref, val;
|
var boardID, now, ref, ref1, val;
|
||||||
$.forceSync(this.key);
|
$.forceSync(this.key);
|
||||||
ref = this.data.boards;
|
ref = this.data.boards;
|
||||||
for (boardID in ref) {
|
for (boardID in ref) {
|
||||||
@ -5331,7 +5331,7 @@ DataBoard = (function() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
now = Date.now();
|
now = Date.now();
|
||||||
if ((this.data.lastChecked || 0) < now - 2 * $.HOUR) {
|
if (!((now - 2 * $.HOUR < (ref1 = this.data.lastChecked || 0) && ref1 <= now))) {
|
||||||
this.data.lastChecked = now;
|
this.data.lastChecked = now;
|
||||||
for (boardID in this.data.boards) {
|
for (boardID in this.data.boards) {
|
||||||
this.ajaxClean(boardID);
|
this.ajaxClean(boardID);
|
||||||
@ -6617,9 +6617,13 @@ Redirect = (function() {
|
|||||||
{ "uid": 31, "name": "Archive Of Sins", "domain": "archiveofsins.com", "http": true, "https": false, "software": "foolfuuka", "boards": [ "h", "hc", "hm", "r", "s", "soc" ], "files": [ "h", "hc", "hm", "r", "s", "soc" ] }
|
{ "uid": 31, "name": "Archive Of Sins", "domain": "archiveofsins.com", "http": true, "https": false, "software": "foolfuuka", "boards": [ "h", "hc", "hm", "r", "s", "soc" ], "files": [ "h", "hc", "hm", "r", "s", "soc" ] }
|
||||||
],
|
],
|
||||||
init: function() {
|
init: function() {
|
||||||
|
var now, ref;
|
||||||
this.selectArchives();
|
this.selectArchives();
|
||||||
if (Conf['archiveAutoUpdate'] && Conf['lastarchivecheck'] < Date.now() - 2 * $.DAY) {
|
if (Conf['archiveAutoUpdate']) {
|
||||||
return this.update();
|
now = Date.now();
|
||||||
|
if (!((now - 2 * $.DAY < (ref = Conf['lastarchivecheck']) && ref <= now))) {
|
||||||
|
return this.update();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
selectArchives: function() {
|
selectArchives: function() {
|
||||||
@ -7891,7 +7895,9 @@ BoardConfig = (function() {
|
|||||||
BoardConfig = {
|
BoardConfig = {
|
||||||
cbs: [],
|
cbs: [],
|
||||||
init: function() {
|
init: function() {
|
||||||
if ((Conf['boardConfig'].lastChecked || 0) < Date.now() - 2 * $.HOUR) {
|
var now, ref;
|
||||||
|
now = Date.now();
|
||||||
|
if (!((now - 2 * $.HOUR < (ref = Conf['boardConfig'].lastChecked || 0) && ref <= now))) {
|
||||||
return $.ajax('//a.4cdn.org/boards.json', {
|
return $.ajax('//a.4cdn.org/boards.json', {
|
||||||
onloadend: this.load
|
onloadend: this.load
|
||||||
});
|
});
|
||||||
@ -10068,6 +10074,8 @@ Index = (function() {
|
|||||||
}).map(function(post) {
|
}).map(function(post) {
|
||||||
return post.no;
|
return post.no;
|
||||||
});
|
});
|
||||||
|
default:
|
||||||
|
return liveThreadIDs;
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
if (Index.search && (threadIDs = Index.querySearch(Index.search))) {
|
if (Index.search && (threadIDs = Index.querySearch(Index.search))) {
|
||||||
@ -18172,7 +18180,7 @@ ThreadWatcher = (function() {
|
|||||||
return ThreadWatcher.clearRequests();
|
return ThreadWatcher.clearRequests();
|
||||||
},
|
},
|
||||||
fetchAuto: function() {
|
fetchAuto: function() {
|
||||||
var db, interval, now;
|
var db, interval, now, ref;
|
||||||
clearTimeout(ThreadWatcher.timeout);
|
clearTimeout(ThreadWatcher.timeout);
|
||||||
if (!Conf['Auto Update Thread Watcher']) {
|
if (!Conf['Auto Update Thread Watcher']) {
|
||||||
return;
|
return;
|
||||||
@ -18180,7 +18188,7 @@ ThreadWatcher = (function() {
|
|||||||
db = ThreadWatcher.db;
|
db = ThreadWatcher.db;
|
||||||
interval = ThreadWatcher.unreadEnabled && Conf['Show Unread Count'] ? 5 * $.MINUTE : 2 * $.HOUR;
|
interval = ThreadWatcher.unreadEnabled && Conf['Show Unread Count'] ? 5 * $.MINUTE : 2 * $.HOUR;
|
||||||
now = Date.now();
|
now = Date.now();
|
||||||
if (now >= (db.data.lastChecked || 0) + interval) {
|
if (!((now - interval < (ref = db.data.lastChecked || 0) && ref <= now))) {
|
||||||
ThreadWatcher.fetchAllStatus();
|
ThreadWatcher.fetchAllStatus();
|
||||||
db.data.lastChecked = now;
|
db.data.lastChecked = now;
|
||||||
db.save();
|
db.save();
|
||||||
|
|||||||
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X
|
// @name 4chan X
|
||||||
// @version 1.13.0.17
|
// @version 1.13.0.18
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
@ -147,7 +147,7 @@ docSet = function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
g = {
|
g = {
|
||||||
VERSION: '1.13.0.17',
|
VERSION: '1.13.0.18',
|
||||||
NAMESPACE: '4chan X.',
|
NAMESPACE: '4chan X.',
|
||||||
boards: {}
|
boards: {}
|
||||||
};
|
};
|
||||||
@ -5321,7 +5321,7 @@ DataBoard = (function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
DataBoard.prototype.clean = function() {
|
DataBoard.prototype.clean = function() {
|
||||||
var boardID, now, ref, val;
|
var boardID, now, ref, ref1, val;
|
||||||
$.forceSync(this.key);
|
$.forceSync(this.key);
|
||||||
ref = this.data.boards;
|
ref = this.data.boards;
|
||||||
for (boardID in ref) {
|
for (boardID in ref) {
|
||||||
@ -5331,7 +5331,7 @@ DataBoard = (function() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
now = Date.now();
|
now = Date.now();
|
||||||
if ((this.data.lastChecked || 0) < now - 2 * $.HOUR) {
|
if (!((now - 2 * $.HOUR < (ref1 = this.data.lastChecked || 0) && ref1 <= now))) {
|
||||||
this.data.lastChecked = now;
|
this.data.lastChecked = now;
|
||||||
for (boardID in this.data.boards) {
|
for (boardID in this.data.boards) {
|
||||||
this.ajaxClean(boardID);
|
this.ajaxClean(boardID);
|
||||||
@ -6617,9 +6617,13 @@ Redirect = (function() {
|
|||||||
{ "uid": 31, "name": "Archive Of Sins", "domain": "archiveofsins.com", "http": true, "https": false, "software": "foolfuuka", "boards": [ "h", "hc", "hm", "r", "s", "soc" ], "files": [ "h", "hc", "hm", "r", "s", "soc" ] }
|
{ "uid": 31, "name": "Archive Of Sins", "domain": "archiveofsins.com", "http": true, "https": false, "software": "foolfuuka", "boards": [ "h", "hc", "hm", "r", "s", "soc" ], "files": [ "h", "hc", "hm", "r", "s", "soc" ] }
|
||||||
],
|
],
|
||||||
init: function() {
|
init: function() {
|
||||||
|
var now, ref;
|
||||||
this.selectArchives();
|
this.selectArchives();
|
||||||
if (Conf['archiveAutoUpdate'] && Conf['lastarchivecheck'] < Date.now() - 2 * $.DAY) {
|
if (Conf['archiveAutoUpdate']) {
|
||||||
return this.update();
|
now = Date.now();
|
||||||
|
if (!((now - 2 * $.DAY < (ref = Conf['lastarchivecheck']) && ref <= now))) {
|
||||||
|
return this.update();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
selectArchives: function() {
|
selectArchives: function() {
|
||||||
@ -7891,7 +7895,9 @@ BoardConfig = (function() {
|
|||||||
BoardConfig = {
|
BoardConfig = {
|
||||||
cbs: [],
|
cbs: [],
|
||||||
init: function() {
|
init: function() {
|
||||||
if ((Conf['boardConfig'].lastChecked || 0) < Date.now() - 2 * $.HOUR) {
|
var now, ref;
|
||||||
|
now = Date.now();
|
||||||
|
if (!((now - 2 * $.HOUR < (ref = Conf['boardConfig'].lastChecked || 0) && ref <= now))) {
|
||||||
return $.ajax('//a.4cdn.org/boards.json', {
|
return $.ajax('//a.4cdn.org/boards.json', {
|
||||||
onloadend: this.load
|
onloadend: this.load
|
||||||
});
|
});
|
||||||
@ -10068,6 +10074,8 @@ Index = (function() {
|
|||||||
}).map(function(post) {
|
}).map(function(post) {
|
||||||
return post.no;
|
return post.no;
|
||||||
});
|
});
|
||||||
|
default:
|
||||||
|
return liveThreadIDs;
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
if (Index.search && (threadIDs = Index.querySearch(Index.search))) {
|
if (Index.search && (threadIDs = Index.querySearch(Index.search))) {
|
||||||
@ -18172,7 +18180,7 @@ ThreadWatcher = (function() {
|
|||||||
return ThreadWatcher.clearRequests();
|
return ThreadWatcher.clearRequests();
|
||||||
},
|
},
|
||||||
fetchAuto: function() {
|
fetchAuto: function() {
|
||||||
var db, interval, now;
|
var db, interval, now, ref;
|
||||||
clearTimeout(ThreadWatcher.timeout);
|
clearTimeout(ThreadWatcher.timeout);
|
||||||
if (!Conf['Auto Update Thread Watcher']) {
|
if (!Conf['Auto Update Thread Watcher']) {
|
||||||
return;
|
return;
|
||||||
@ -18180,7 +18188,7 @@ ThreadWatcher = (function() {
|
|||||||
db = ThreadWatcher.db;
|
db = ThreadWatcher.db;
|
||||||
interval = ThreadWatcher.unreadEnabled && Conf['Show Unread Count'] ? 5 * $.MINUTE : 2 * $.HOUR;
|
interval = ThreadWatcher.unreadEnabled && Conf['Show Unread Count'] ? 5 * $.MINUTE : 2 * $.HOUR;
|
||||||
now = Date.now();
|
now = Date.now();
|
||||||
if (now >= (db.data.lastChecked || 0) + interval) {
|
if (!((now - interval < (ref = db.data.lastChecked || 0) && ref <= now))) {
|
||||||
ThreadWatcher.fetchAllStatus();
|
ThreadWatcher.fetchAllStatus();
|
||||||
db.data.lastChecked = now;
|
db.data.lastChecked = now;
|
||||||
db.save();
|
db.save();
|
||||||
|
|||||||
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X
|
// @name 4chan X
|
||||||
// @version 1.13.0.17
|
// @version 1.13.0.18
|
||||||
// @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.13.0.17
|
// @version 1.13.0.18
|
||||||
// @minGMVer 1.14
|
// @minGMVer 1.14
|
||||||
// @minFFVer 26
|
// @minFFVer 26
|
||||||
// @namespace 4chan-X
|
// @namespace 4chan-X
|
||||||
@ -147,7 +147,7 @@ docSet = function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
g = {
|
g = {
|
||||||
VERSION: '1.13.0.17',
|
VERSION: '1.13.0.18',
|
||||||
NAMESPACE: '4chan X.',
|
NAMESPACE: '4chan X.',
|
||||||
boards: {}
|
boards: {}
|
||||||
};
|
};
|
||||||
@ -5321,7 +5321,7 @@ DataBoard = (function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
DataBoard.prototype.clean = function() {
|
DataBoard.prototype.clean = function() {
|
||||||
var boardID, now, ref, val;
|
var boardID, now, ref, ref1, val;
|
||||||
$.forceSync(this.key);
|
$.forceSync(this.key);
|
||||||
ref = this.data.boards;
|
ref = this.data.boards;
|
||||||
for (boardID in ref) {
|
for (boardID in ref) {
|
||||||
@ -5331,7 +5331,7 @@ DataBoard = (function() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
now = Date.now();
|
now = Date.now();
|
||||||
if ((this.data.lastChecked || 0) < now - 2 * $.HOUR) {
|
if (!((now - 2 * $.HOUR < (ref1 = this.data.lastChecked || 0) && ref1 <= now))) {
|
||||||
this.data.lastChecked = now;
|
this.data.lastChecked = now;
|
||||||
for (boardID in this.data.boards) {
|
for (boardID in this.data.boards) {
|
||||||
this.ajaxClean(boardID);
|
this.ajaxClean(boardID);
|
||||||
@ -6617,9 +6617,13 @@ Redirect = (function() {
|
|||||||
{ "uid": 31, "name": "Archive Of Sins", "domain": "archiveofsins.com", "http": true, "https": false, "software": "foolfuuka", "boards": [ "h", "hc", "hm", "r", "s", "soc" ], "files": [ "h", "hc", "hm", "r", "s", "soc" ] }
|
{ "uid": 31, "name": "Archive Of Sins", "domain": "archiveofsins.com", "http": true, "https": false, "software": "foolfuuka", "boards": [ "h", "hc", "hm", "r", "s", "soc" ], "files": [ "h", "hc", "hm", "r", "s", "soc" ] }
|
||||||
],
|
],
|
||||||
init: function() {
|
init: function() {
|
||||||
|
var now, ref;
|
||||||
this.selectArchives();
|
this.selectArchives();
|
||||||
if (Conf['archiveAutoUpdate'] && Conf['lastarchivecheck'] < Date.now() - 2 * $.DAY) {
|
if (Conf['archiveAutoUpdate']) {
|
||||||
return this.update();
|
now = Date.now();
|
||||||
|
if (!((now - 2 * $.DAY < (ref = Conf['lastarchivecheck']) && ref <= now))) {
|
||||||
|
return this.update();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
selectArchives: function() {
|
selectArchives: function() {
|
||||||
@ -7891,7 +7895,9 @@ BoardConfig = (function() {
|
|||||||
BoardConfig = {
|
BoardConfig = {
|
||||||
cbs: [],
|
cbs: [],
|
||||||
init: function() {
|
init: function() {
|
||||||
if ((Conf['boardConfig'].lastChecked || 0) < Date.now() - 2 * $.HOUR) {
|
var now, ref;
|
||||||
|
now = Date.now();
|
||||||
|
if (!((now - 2 * $.HOUR < (ref = Conf['boardConfig'].lastChecked || 0) && ref <= now))) {
|
||||||
return $.ajax('//a.4cdn.org/boards.json', {
|
return $.ajax('//a.4cdn.org/boards.json', {
|
||||||
onloadend: this.load
|
onloadend: this.load
|
||||||
});
|
});
|
||||||
@ -10068,6 +10074,8 @@ Index = (function() {
|
|||||||
}).map(function(post) {
|
}).map(function(post) {
|
||||||
return post.no;
|
return post.no;
|
||||||
});
|
});
|
||||||
|
default:
|
||||||
|
return liveThreadIDs;
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
if (Index.search && (threadIDs = Index.querySearch(Index.search))) {
|
if (Index.search && (threadIDs = Index.querySearch(Index.search))) {
|
||||||
@ -18172,7 +18180,7 @@ ThreadWatcher = (function() {
|
|||||||
return ThreadWatcher.clearRequests();
|
return ThreadWatcher.clearRequests();
|
||||||
},
|
},
|
||||||
fetchAuto: function() {
|
fetchAuto: function() {
|
||||||
var db, interval, now;
|
var db, interval, now, ref;
|
||||||
clearTimeout(ThreadWatcher.timeout);
|
clearTimeout(ThreadWatcher.timeout);
|
||||||
if (!Conf['Auto Update Thread Watcher']) {
|
if (!Conf['Auto Update Thread Watcher']) {
|
||||||
return;
|
return;
|
||||||
@ -18180,7 +18188,7 @@ ThreadWatcher = (function() {
|
|||||||
db = ThreadWatcher.db;
|
db = ThreadWatcher.db;
|
||||||
interval = ThreadWatcher.unreadEnabled && Conf['Show Unread Count'] ? 5 * $.MINUTE : 2 * $.HOUR;
|
interval = ThreadWatcher.unreadEnabled && Conf['Show Unread Count'] ? 5 * $.MINUTE : 2 * $.HOUR;
|
||||||
now = Date.now();
|
now = Date.now();
|
||||||
if (now >= (db.data.lastChecked || 0) + interval) {
|
if (!((now - interval < (ref = db.data.lastChecked || 0) && ref <= now))) {
|
||||||
ThreadWatcher.fetchAllStatus();
|
ThreadWatcher.fetchAllStatus();
|
||||||
db.data.lastChecked = now;
|
db.data.lastChecked = now;
|
||||||
db.save();
|
db.save();
|
||||||
|
|||||||
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.13.0.17' />
|
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X-beta.crx' version='1.13.0.18' />
|
||||||
</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.13.0.17' />
|
<updatecheck codebase='https://www.4chan-x.net/builds/4chan-X.crx' version='1.13.0.18' />
|
||||||
</app>
|
</app>
|
||||||
</gupdate>
|
</gupdate>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
{
|
{
|
||||||
"version": "1.13.0.17",
|
"version": "1.13.0.18",
|
||||||
"date": "2016-10-30T05:07:56.889Z"
|
"date": "2016-10-31T02:53:57.311Z"
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user