diff --git a/CHANGELOG.md b/CHANGELOG.md index 6911baf8f..09931bd95 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +### v1.9.1.2 +*2014-09-01* + +**ccd0** +- Confirm thread death in catalog, as in v1.9.0.7. + ### v1.9.1.1 *2014-09-01* diff --git a/LICENSE b/LICENSE index 6257866b6..31069324f 100755 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,5 @@ /* -* 4chan X - Version 1.9.1.1 +* 4chan X - Version 1.9.1.2 * * Licensed under the MIT license. * https://github.com/ccd0/4chan-x/blob/master/LICENSE diff --git a/builds/4chan-X-beta.crx b/builds/4chan-X-beta.crx index 40d272b75..89e62b4fb 100644 Binary files a/builds/4chan-X-beta.crx and b/builds/4chan-X-beta.crx differ diff --git a/builds/4chan-X-beta.meta.js b/builds/4chan-X-beta.meta.js index 97024288a..fccb3157c 100644 --- a/builds/4chan-X-beta.meta.js +++ b/builds/4chan-X-beta.meta.js @@ -1,6 +1,6 @@ // ==UserScript== // @name 4chan X -// @version 1.9.1.1 +// @version 1.9.1.2 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X diff --git a/builds/4chan-X-beta.user.js b/builds/4chan-X-beta.user.js index d77e81c1a..2f6aa3549 100644 --- a/builds/4chan-X-beta.user.js +++ b/builds/4chan-X-beta.user.js @@ -1,7 +1,7 @@ // Generated by CoffeeScript // ==UserScript== // @name 4chan X -// @version 1.9.1.1 +// @version 1.9.1.2 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X @@ -24,7 +24,7 @@ // ==/UserScript== /* -* 4chan X - Version 1.9.1.1 +* 4chan X - Version 1.9.1.2 * * Licensed under the MIT license. * https://github.com/ccd0/4chan-x/blob/master/LICENSE @@ -374,7 +374,7 @@ doc = d.documentElement; g = { - VERSION: '1.9.1.1', + VERSION: '1.9.1.2', NAMESPACE: '4chan X.', NAME: '4chan X', FAQ: 'https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions', @@ -10166,7 +10166,7 @@ return $.cb.value.call(this); }, load: function(e) { - var klass, req, text, _ref; + var req; req = ThreadUpdater.req; switch (req.status) { case 200: @@ -10180,15 +10180,38 @@ } break; case 404: - g.DEAD = true; - ThreadUpdater.set('status', '404', 'warning'); - ThreadUpdater.kill(); + $.ajax("//a.4cdn.org/" + ThreadUpdater.thread.board + "/catalog.json", { + onloadend: function() { + var confirmed, page, thread, _i, _j, _len, _len1, _ref, _ref1; + if (this.status === 200) { + confirmed = true; + _ref = this.response; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + page = _ref[_i]; + _ref1 = page.threads; + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + thread = _ref1[_j]; + if (thread.no === ThreadUpdater.thread.ID) { + confirmed = false; + break; + } + } + } + } else { + confirmed = false; + } + if (confirmed) { + g.DEAD = true; + ThreadUpdater.set('status', '404', 'warning'); + return ThreadUpdater.kill(); + } else { + return ThreadUpdater.error(req); + } + } + }); break; default: - ThreadUpdater.outdateCount++; - ThreadUpdater.setInterval(); - _ref = req.status === 304 ? [null, null] : ["" + req.statusText + " (" + req.status + ")", 'warning'], text = _ref[0], klass = _ref[1]; - ThreadUpdater.set('status', text, klass); + ThreadUpdater.error(req); } if (ThreadUpdater.postID) { return ThreadUpdater.cb.checkpost(); @@ -10204,6 +10227,13 @@ threadID: ThreadUpdater.thread.fullID }); }, + error: function(req) { + var klass, text, _ref; + ThreadUpdater.outdateCount++; + ThreadUpdater.setInterval(); + _ref = req.status === 304 ? [null, null] : ["" + req.statusText + " (" + req.status + ")", 'warning'], text = _ref[0], klass = _ref[1]; + return ThreadUpdater.set('status', text, klass); + }, setInterval: function() { var cur, i, j, limit; i = ThreadUpdater.interval + 1; @@ -12811,7 +12841,7 @@ className: 'dialog' }); $.extend(dialog, { - innerHTML: "
" + innerHTML: "
" }); $.on($('.export', Settings.dialog), 'click', Settings["export"]); $.on($('.import', Settings.dialog), 'click', Settings["import"]); diff --git a/builds/4chan-X-noupdate.crx b/builds/4chan-X-noupdate.crx index c1c273d4f..1a0351d00 100644 Binary files a/builds/4chan-X-noupdate.crx and b/builds/4chan-X-noupdate.crx differ diff --git a/builds/4chan-X-noupdate.user.js b/builds/4chan-X-noupdate.user.js index 5a326490a..f2b8b9841 100644 --- a/builds/4chan-X-noupdate.user.js +++ b/builds/4chan-X-noupdate.user.js @@ -1,7 +1,7 @@ // Generated by CoffeeScript // ==UserScript== // @name 4chan X -// @version 1.9.1.1 +// @version 1.9.1.2 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X @@ -23,7 +23,7 @@ // ==/UserScript== /* -* 4chan X - Version 1.9.1.1 +* 4chan X - Version 1.9.1.2 * * Licensed under the MIT license. * https://github.com/ccd0/4chan-x/blob/master/LICENSE @@ -373,7 +373,7 @@ doc = d.documentElement; g = { - VERSION: '1.9.1.1', + VERSION: '1.9.1.2', NAMESPACE: '4chan X.', NAME: '4chan X', FAQ: 'https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions', @@ -10165,7 +10165,7 @@ return $.cb.value.call(this); }, load: function(e) { - var klass, req, text, _ref; + var req; req = ThreadUpdater.req; switch (req.status) { case 200: @@ -10179,15 +10179,38 @@ } break; case 404: - g.DEAD = true; - ThreadUpdater.set('status', '404', 'warning'); - ThreadUpdater.kill(); + $.ajax("//a.4cdn.org/" + ThreadUpdater.thread.board + "/catalog.json", { + onloadend: function() { + var confirmed, page, thread, _i, _j, _len, _len1, _ref, _ref1; + if (this.status === 200) { + confirmed = true; + _ref = this.response; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + page = _ref[_i]; + _ref1 = page.threads; + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + thread = _ref1[_j]; + if (thread.no === ThreadUpdater.thread.ID) { + confirmed = false; + break; + } + } + } + } else { + confirmed = false; + } + if (confirmed) { + g.DEAD = true; + ThreadUpdater.set('status', '404', 'warning'); + return ThreadUpdater.kill(); + } else { + return ThreadUpdater.error(req); + } + } + }); break; default: - ThreadUpdater.outdateCount++; - ThreadUpdater.setInterval(); - _ref = req.status === 304 ? [null, null] : ["" + req.statusText + " (" + req.status + ")", 'warning'], text = _ref[0], klass = _ref[1]; - ThreadUpdater.set('status', text, klass); + ThreadUpdater.error(req); } if (ThreadUpdater.postID) { return ThreadUpdater.cb.checkpost(); @@ -10203,6 +10226,13 @@ threadID: ThreadUpdater.thread.fullID }); }, + error: function(req) { + var klass, text, _ref; + ThreadUpdater.outdateCount++; + ThreadUpdater.setInterval(); + _ref = req.status === 304 ? [null, null] : ["" + req.statusText + " (" + req.status + ")", 'warning'], text = _ref[0], klass = _ref[1]; + return ThreadUpdater.set('status', text, klass); + }, setInterval: function() { var cur, i, j, limit; i = ThreadUpdater.interval + 1; @@ -12810,7 +12840,7 @@ className: 'dialog' }); $.extend(dialog, { - innerHTML: "
" + innerHTML: "
" }); $.on($('.export', Settings.dialog), 'click', Settings["export"]); $.on($('.import', Settings.dialog), 'click', Settings["import"]); diff --git a/builds/4chan-X.crx b/builds/4chan-X.crx index d5ee63b7a..8c3036034 100644 Binary files a/builds/4chan-X.crx and b/builds/4chan-X.crx differ diff --git a/builds/4chan-X.meta.js b/builds/4chan-X.meta.js index 3c7426c3d..8dd7347ad 100644 --- a/builds/4chan-X.meta.js +++ b/builds/4chan-X.meta.js @@ -1,6 +1,6 @@ // ==UserScript== // @name 4chan X -// @version 1.9.1.1 +// @version 1.9.1.2 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js index 65072b9ad..c2bdd7927 100644 --- a/builds/4chan-X.user.js +++ b/builds/4chan-X.user.js @@ -1,7 +1,7 @@ // Generated by CoffeeScript // ==UserScript== // @name 4chan X -// @version 1.9.1.1 +// @version 1.9.1.2 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X @@ -24,7 +24,7 @@ // ==/UserScript== /* -* 4chan X - Version 1.9.1.1 +* 4chan X - Version 1.9.1.2 * * Licensed under the MIT license. * https://github.com/ccd0/4chan-x/blob/master/LICENSE @@ -374,7 +374,7 @@ doc = d.documentElement; g = { - VERSION: '1.9.1.1', + VERSION: '1.9.1.2', NAMESPACE: '4chan X.', NAME: '4chan X', FAQ: 'https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions', @@ -10166,7 +10166,7 @@ return $.cb.value.call(this); }, load: function(e) { - var klass, req, text, _ref; + var req; req = ThreadUpdater.req; switch (req.status) { case 200: @@ -10180,15 +10180,38 @@ } break; case 404: - g.DEAD = true; - ThreadUpdater.set('status', '404', 'warning'); - ThreadUpdater.kill(); + $.ajax("//a.4cdn.org/" + ThreadUpdater.thread.board + "/catalog.json", { + onloadend: function() { + var confirmed, page, thread, _i, _j, _len, _len1, _ref, _ref1; + if (this.status === 200) { + confirmed = true; + _ref = this.response; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + page = _ref[_i]; + _ref1 = page.threads; + for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { + thread = _ref1[_j]; + if (thread.no === ThreadUpdater.thread.ID) { + confirmed = false; + break; + } + } + } + } else { + confirmed = false; + } + if (confirmed) { + g.DEAD = true; + ThreadUpdater.set('status', '404', 'warning'); + return ThreadUpdater.kill(); + } else { + return ThreadUpdater.error(req); + } + } + }); break; default: - ThreadUpdater.outdateCount++; - ThreadUpdater.setInterval(); - _ref = req.status === 304 ? [null, null] : ["" + req.statusText + " (" + req.status + ")", 'warning'], text = _ref[0], klass = _ref[1]; - ThreadUpdater.set('status', text, klass); + ThreadUpdater.error(req); } if (ThreadUpdater.postID) { return ThreadUpdater.cb.checkpost(); @@ -10204,6 +10227,13 @@ threadID: ThreadUpdater.thread.fullID }); }, + error: function(req) { + var klass, text, _ref; + ThreadUpdater.outdateCount++; + ThreadUpdater.setInterval(); + _ref = req.status === 304 ? [null, null] : ["" + req.statusText + " (" + req.status + ")", 'warning'], text = _ref[0], klass = _ref[1]; + return ThreadUpdater.set('status', text, klass); + }, setInterval: function() { var cur, i, j, limit; i = ThreadUpdater.interval + 1; @@ -12811,7 +12841,7 @@ className: 'dialog' }); $.extend(dialog, { - innerHTML: "
" + innerHTML: "
" }); $.on($('.export', Settings.dialog), 'click', Settings["export"]); $.on($('.import', Settings.dialog), 'click', Settings["import"]); diff --git a/builds/4chan-X.zip b/builds/4chan-X.zip index 88a48893f..7bac4365e 100644 Binary files a/builds/4chan-X.zip and b/builds/4chan-X.zip differ diff --git a/builds/updates-beta.xml b/builds/updates-beta.xml index b8d410464..bb3075224 100644 --- a/builds/updates-beta.xml +++ b/builds/updates-beta.xml @@ -1,7 +1,7 @@ - + diff --git a/builds/updates.xml b/builds/updates.xml index 959862c43..8396cc249 100644 --- a/builds/updates.xml +++ b/builds/updates.xml @@ -1,7 +1,7 @@ - + diff --git a/package.json b/package.json index 90f1da4c7..1d62879f8 100755 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "description": "Cross-browser userscript for maximum lurking on 4chan.", "meta": { "name": "4chan X", - "version": "1.9.1.1", + "version": "1.9.1.2", "repo": "https://github.com/ccd0/4chan-x/", "page": "https://github.com/ccd0/4chan-x", "downloads": "https://ccd0.github.io/4chan-x/builds/",