diff --git a/CHANGELOG.md b/CHANGELOG.md index b085455cc..b96fe5134 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +### v1.7.59 +*2014-06-14* + **ccd0** - Fix some bugs that were causing threads to disappear. diff --git a/LICENSE b/LICENSE index 42b0e6f46..c282ef036 100755 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,5 @@ /* -* 4chan X - Version 1.7.58 - 2014-06-14 +* 4chan X - Version 1.7.59 - 2014-06-14 * * Licensed under the MIT license. * https://github.com/ccd0/4chan-x/blob/master/LICENSE diff --git a/builds/4chan-X.meta.js b/builds/4chan-X.meta.js index cc026c1b1..4be17774b 100755 --- a/builds/4chan-X.meta.js +++ b/builds/4chan-X.meta.js @@ -1,6 +1,6 @@ // ==UserScript== // @name 4chan X -// @version 1.7.58 +// @version 1.7.59 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js index 2e4ba3b14..56d42c858 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.7.58 +// @version 1.7.59 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X @@ -24,7 +24,7 @@ // ==/UserScript== /* -* 4chan X - Version 1.7.58 - 2014-06-14 +* 4chan X - Version 1.7.59 - 2014-06-14 * * Licensed under the MIT license. * https://github.com/ccd0/4chan-x/blob/master/LICENSE @@ -374,7 +374,7 @@ doc = d.documentElement; g = { - VERSION: '1.7.58', + VERSION: '1.7.59', NAMESPACE: '4chan X.', boards: {} }; @@ -1616,6 +1616,8 @@ item.prev = prev; if (prev) { return prev.next = item; + } else { + return this.first = item; } }; @@ -1631,6 +1633,8 @@ item.next = next; if (next) { return next.prev = item; + } else { + return this.last = item; } }; @@ -1642,7 +1646,11 @@ } this.rmi(item); item.next = first; - first.prev = item; + if (first) { + first.prev = item; + } else { + this.last = item; + } this.first = item; return delete item.prev; }; @@ -2870,23 +2878,19 @@ } }, sortOnTop: function(match) { - var j, offset, sortedNodes, target, threadRoot; - offset = 0; + var next, sortedNodes, target, threadRoot; sortedNodes = Index.sortedNodes; - threadRoot = sortedNodes.first; + threadRoot = target = sortedNodes.first; while (threadRoot) { + next = threadRoot.next; if (match(Get.threadFromRoot(threadRoot.data))) { - target = sortedNodes.first; - j = 0; - while (j++ < offset) { + if (threadRoot === target) { target = target.next; - } - if (threadRoot !== target) { - offset++; + } else { sortedNodes.before(target, threadRoot); } } - threadRoot = threadRoot.next; + threadRoot = next; } }, buildIndex: function() { @@ -12485,7 +12489,7 @@ Settings.dialog = dialog = $.el('div', { id: 'fourchanx-settings', className: 'dialog', - innerHTML: '
' + innerHTML: '
' }); $.on($('.export', Settings.dialog), 'click', Settings["export"]); $.on($('.import', Settings.dialog), 'click', Settings["import"]); @@ -13330,7 +13334,7 @@ } if (previousversion) { el = $.el('span', { - innerHTML: '4chan X has been updated to version 1.7.58.' + innerHTML: '4chan X has been updated to version 1.7.59.' }); new Notice('info', el, 15); } else { diff --git a/builds/4chan-X.zip b/builds/4chan-X.zip index 4ee337b2d..d3c7255d7 100644 Binary files a/builds/4chan-X.zip and b/builds/4chan-X.zip differ diff --git a/builds/crx.crx b/builds/crx.crx index cae8e47c7..fb711bbd2 100644 Binary files a/builds/crx.crx and b/builds/crx.crx differ diff --git a/builds/crx/manifest.json b/builds/crx/manifest.json index 5f17d8ff1..5f7e5d610 100755 --- a/builds/crx/manifest.json +++ b/builds/crx/manifest.json @@ -1,6 +1,6 @@ { "name": "4chan X", - "version": "1.7.58", + "version": "1.7.59", "manifest_version": 2, "description": "Cross-browser userscript for maximum lurking on 4chan.", "icons": { diff --git a/builds/crx/script.js b/builds/crx/script.js index 6e21547d3..4677ff645 100644 --- a/builds/crx/script.js +++ b/builds/crx/script.js @@ -1,6 +1,6 @@ // Generated by CoffeeScript /* -* 4chan X - Version 1.7.58 - 2014-06-14 +* 4chan X - Version 1.7.59 - 2014-06-14 * * Licensed under the MIT license. * https://github.com/ccd0/4chan-x/blob/master/LICENSE @@ -349,7 +349,7 @@ doc = d.documentElement; g = { - VERSION: '1.7.58', + VERSION: '1.7.59', NAMESPACE: '4chan X.', boards: {} }; @@ -1651,6 +1651,8 @@ item.prev = prev; if (prev) { return prev.next = item; + } else { + return this.first = item; } }; @@ -1666,6 +1668,8 @@ item.next = next; if (next) { return next.prev = item; + } else { + return this.last = item; } }; @@ -1677,7 +1681,11 @@ } this.rmi(item); item.next = first; - first.prev = item; + if (first) { + first.prev = item; + } else { + this.last = item; + } this.first = item; return delete item.prev; }; @@ -2905,23 +2913,19 @@ } }, sortOnTop: function(match) { - var j, offset, sortedNodes, target, threadRoot; - offset = 0; + var next, sortedNodes, target, threadRoot; sortedNodes = Index.sortedNodes; - threadRoot = sortedNodes.first; + threadRoot = target = sortedNodes.first; while (threadRoot) { + next = threadRoot.next; if (match(Get.threadFromRoot(threadRoot.data))) { - target = sortedNodes.first; - j = 0; - while (j++ < offset) { + if (threadRoot === target) { target = target.next; - } - if (threadRoot !== target) { - offset++; + } else { sortedNodes.before(target, threadRoot); } } - threadRoot = threadRoot.next; + threadRoot = next; } }, buildIndex: function() { @@ -12479,7 +12483,7 @@ Settings.dialog = dialog = $.el('div', { id: 'fourchanx-settings', className: 'dialog', - innerHTML: '
' + innerHTML: '
' }); $.on($('.export', Settings.dialog), 'click', Settings["export"]); $.on($('.import', Settings.dialog), 'click', Settings["import"]); @@ -13311,7 +13315,7 @@ } if (previousversion) { el = $.el('span', { - innerHTML: '4chan X has been updated to version 1.7.58.' + innerHTML: '4chan X has been updated to version 1.7.59.' }); new Notice('info', el, 15); } else { diff --git a/builds/updates.xml b/builds/updates.xml index 3ec28e757..301c4dfbe 100644 --- a/builds/updates.xml +++ b/builds/updates.xml @@ -1,7 +1,7 @@ - + diff --git a/builds/wcrx/manifest.json b/builds/wcrx/manifest.json index cb7c1b1f7..063efcd0d 100644 --- a/builds/wcrx/manifest.json +++ b/builds/wcrx/manifest.json @@ -1,6 +1,6 @@ { "name": "4chan X", - "version": "1.7.58", + "version": "1.7.59", "manifest_version": 2, "description": "Cross-browser userscript for maximum lurking on 4chan.", "icons": { diff --git a/builds/wcrx/script.js b/builds/wcrx/script.js index 6e21547d3..4677ff645 100644 --- a/builds/wcrx/script.js +++ b/builds/wcrx/script.js @@ -1,6 +1,6 @@ // Generated by CoffeeScript /* -* 4chan X - Version 1.7.58 - 2014-06-14 +* 4chan X - Version 1.7.59 - 2014-06-14 * * Licensed under the MIT license. * https://github.com/ccd0/4chan-x/blob/master/LICENSE @@ -349,7 +349,7 @@ doc = d.documentElement; g = { - VERSION: '1.7.58', + VERSION: '1.7.59', NAMESPACE: '4chan X.', boards: {} }; @@ -1651,6 +1651,8 @@ item.prev = prev; if (prev) { return prev.next = item; + } else { + return this.first = item; } }; @@ -1666,6 +1668,8 @@ item.next = next; if (next) { return next.prev = item; + } else { + return this.last = item; } }; @@ -1677,7 +1681,11 @@ } this.rmi(item); item.next = first; - first.prev = item; + if (first) { + first.prev = item; + } else { + this.last = item; + } this.first = item; return delete item.prev; }; @@ -2905,23 +2913,19 @@ } }, sortOnTop: function(match) { - var j, offset, sortedNodes, target, threadRoot; - offset = 0; + var next, sortedNodes, target, threadRoot; sortedNodes = Index.sortedNodes; - threadRoot = sortedNodes.first; + threadRoot = target = sortedNodes.first; while (threadRoot) { + next = threadRoot.next; if (match(Get.threadFromRoot(threadRoot.data))) { - target = sortedNodes.first; - j = 0; - while (j++ < offset) { + if (threadRoot === target) { target = target.next; - } - if (threadRoot !== target) { - offset++; + } else { sortedNodes.before(target, threadRoot); } } - threadRoot = threadRoot.next; + threadRoot = next; } }, buildIndex: function() { @@ -12479,7 +12483,7 @@ Settings.dialog = dialog = $.el('div', { id: 'fourchanx-settings', className: 'dialog', - innerHTML: '
' + innerHTML: '
' }); $.on($('.export', Settings.dialog), 'click', Settings["export"]); $.on($('.import', Settings.dialog), 'click', Settings["import"]); @@ -13311,7 +13315,7 @@ } if (previousversion) { el = $.el('span', { - innerHTML: '4chan X has been updated to version 1.7.58.' + innerHTML: '4chan X has been updated to version 1.7.59.' }); new Notice('info', el, 15); } else { diff --git a/package.json b/package.json index 760ccfad4..97de0c450 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "4chan-X", - "version": "1.7.58", + "version": "1.7.59", "description": "Cross-browser userscript for maximum lurking on 4chan.", "meta": { "name": "4chan X",