diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a38367bc..1c160c311 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,9 @@ ## v1.13.0 +**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. + **v1.13.0.16** *(2016-10-27)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.13.0.16/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.13.0.16/builds/4chan-X-noupdate.crx)] - Merge v1.12.3.11: Update due to 4chan's ad changes, part two. diff --git a/builds/4chan-X-beta.crx b/builds/4chan-X-beta.crx index b05087e85..1c7590353 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 7c3720c30..1ca3c2b35 100644 --- a/builds/4chan-X-beta.meta.js +++ b/builds/4chan-X-beta.meta.js @@ -1,6 +1,6 @@ // ==UserScript== // @name 4chan X beta -// @version 1.13.0.16 +// @version 1.13.0.17 // @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 05e563022..208cd7491 100644 --- a/builds/4chan-X-beta.user.js +++ b/builds/4chan-X-beta.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name 4chan X beta -// @version 1.13.0.16 +// @version 1.13.0.17 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X @@ -147,7 +147,7 @@ docSet = function() { }; g = { - VERSION: '1.13.0.16', + VERSION: '1.13.0.17', NAMESPACE: '4chan X.', boards: {} }; @@ -6178,17 +6178,17 @@ Post = (function() { node.id = Post.Clone.prefix + node.id; } Post.Clone.prefix++; - this.nodes = this.parseNodes(root); - ref2 = $$('.inline', this.nodes.post); + ref2 = $$('.inline', root); for (k = 0, len2 = ref2.length; k < len2; k++) { inline = ref2[k]; $.rm(inline); } - ref3 = $$('.inlined', this.nodes.post); + ref3 = $$('.inlined', root); for (l = 0, len3 = ref3.length; l < len3; l++) { inlined = ref3[l]; $.rmClass(inlined, 'inlined'); } + this.nodes = this.parseNodes(root); root.hidden = false; $.rmClass(root, 'forwarded'); $.rmClass(this.nodes.post, 'highlight'); @@ -18965,20 +18965,23 @@ Unread = (function() { titleDead = Unread.thread.isDead ? Unread.title.replace('-', (Unread.thread.isArchived ? '- Archived -' : '- 404 -')) : Unread.title; d.title = "" + titleQuotingYou + titleCount + titleDead; } - $.forceSync('Remember Last Read Post'); - if (Conf['Remember Last Read Post'] && (!Unread.thread.isDead || Unread.thread.isArchived)) { - ThreadWatcher.update(Unread.thread.board.ID, Unread.thread.ID, { - isDead: Unread.thread.isDead, - unread: count, - quotingYou: countQuotingYou - }); - } + Unread.saveThreadWatcherCount(); if (Conf['Unread Favicon']) { isDead = Unread.thread.isDead; Favicon.el.href = countQuotingYou ? Favicon[isDead ? 'unreadDeadY' : 'unreadY'] : count ? Favicon[isDead ? 'unreadDead' : 'unread'] : Favicon[isDead ? 'dead' : 'default']; return $.add(d.head, Favicon.el); } - } + }, + saveThreadWatcherCount: $.debounce(2 * $.SECOND, function() { + $.forceSync('Remember Last Read Post'); + if (Conf['Remember Last Read Post'] && (!Unread.thread.isDead || Unread.thread.isArchived)) { + return ThreadWatcher.update(Unread.thread.board.ID, Unread.thread.ID, { + isDead: Unread.thread.isDead, + unread: Unread.posts.size, + quotingYou: Unread.postsQuotingYou.size + }); + } + }) }; return Unread; @@ -21719,12 +21722,13 @@ QR = (function() { }; _Class.prototype.save = function(input) { - var name, ref; + var name, prev, ref; if (input.type === 'checkbox') { this.spoiler = input.checked; return; } name = input.dataset.name; + prev = this[name]; this[name] = input.value || input.dataset["default"] || null; switch (name) { case 'thread': @@ -21743,7 +21747,9 @@ QR = (function() { this.saveFilename(); return this.updateFilename(); case 'name': - return QR.persona.set(this); + if (this.name !== prev) { + return QR.persona.set(this); + } } }; diff --git a/builds/4chan-X-noupdate.crx b/builds/4chan-X-noupdate.crx index 50006a8eb..2e4e8120d 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 fde9a538b..c06ecc7c7 100644 --- a/builds/4chan-X-noupdate.user.js +++ b/builds/4chan-X-noupdate.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name 4chan X -// @version 1.13.0.16 +// @version 1.13.0.17 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X @@ -147,7 +147,7 @@ docSet = function() { }; g = { - VERSION: '1.13.0.16', + VERSION: '1.13.0.17', NAMESPACE: '4chan X.', boards: {} }; @@ -6178,17 +6178,17 @@ Post = (function() { node.id = Post.Clone.prefix + node.id; } Post.Clone.prefix++; - this.nodes = this.parseNodes(root); - ref2 = $$('.inline', this.nodes.post); + ref2 = $$('.inline', root); for (k = 0, len2 = ref2.length; k < len2; k++) { inline = ref2[k]; $.rm(inline); } - ref3 = $$('.inlined', this.nodes.post); + ref3 = $$('.inlined', root); for (l = 0, len3 = ref3.length; l < len3; l++) { inlined = ref3[l]; $.rmClass(inlined, 'inlined'); } + this.nodes = this.parseNodes(root); root.hidden = false; $.rmClass(root, 'forwarded'); $.rmClass(this.nodes.post, 'highlight'); @@ -18965,20 +18965,23 @@ Unread = (function() { titleDead = Unread.thread.isDead ? Unread.title.replace('-', (Unread.thread.isArchived ? '- Archived -' : '- 404 -')) : Unread.title; d.title = "" + titleQuotingYou + titleCount + titleDead; } - $.forceSync('Remember Last Read Post'); - if (Conf['Remember Last Read Post'] && (!Unread.thread.isDead || Unread.thread.isArchived)) { - ThreadWatcher.update(Unread.thread.board.ID, Unread.thread.ID, { - isDead: Unread.thread.isDead, - unread: count, - quotingYou: countQuotingYou - }); - } + Unread.saveThreadWatcherCount(); if (Conf['Unread Favicon']) { isDead = Unread.thread.isDead; Favicon.el.href = countQuotingYou ? Favicon[isDead ? 'unreadDeadY' : 'unreadY'] : count ? Favicon[isDead ? 'unreadDead' : 'unread'] : Favicon[isDead ? 'dead' : 'default']; return $.add(d.head, Favicon.el); } - } + }, + saveThreadWatcherCount: $.debounce(2 * $.SECOND, function() { + $.forceSync('Remember Last Read Post'); + if (Conf['Remember Last Read Post'] && (!Unread.thread.isDead || Unread.thread.isArchived)) { + return ThreadWatcher.update(Unread.thread.board.ID, Unread.thread.ID, { + isDead: Unread.thread.isDead, + unread: Unread.posts.size, + quotingYou: Unread.postsQuotingYou.size + }); + } + }) }; return Unread; @@ -21719,12 +21722,13 @@ QR = (function() { }; _Class.prototype.save = function(input) { - var name, ref; + var name, prev, ref; if (input.type === 'checkbox') { this.spoiler = input.checked; return; } name = input.dataset.name; + prev = this[name]; this[name] = input.value || input.dataset["default"] || null; switch (name) { case 'thread': @@ -21743,7 +21747,9 @@ QR = (function() { this.saveFilename(); return this.updateFilename(); case 'name': - return QR.persona.set(this); + if (this.name !== prev) { + return QR.persona.set(this); + } } }; diff --git a/builds/4chan-X.crx b/builds/4chan-X.crx index 13e123115..09ebb78fd 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 ac9e7b6a7..f94c9d2a1 100644 --- a/builds/4chan-X.meta.js +++ b/builds/4chan-X.meta.js @@ -1,6 +1,6 @@ // ==UserScript== // @name 4chan X -// @version 1.13.0.16 +// @version 1.13.0.17 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js index bbafb833f..0bfd0ed3d 100644 --- a/builds/4chan-X.user.js +++ b/builds/4chan-X.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name 4chan X -// @version 1.13.0.16 +// @version 1.13.0.17 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X @@ -147,7 +147,7 @@ docSet = function() { }; g = { - VERSION: '1.13.0.16', + VERSION: '1.13.0.17', NAMESPACE: '4chan X.', boards: {} }; @@ -6178,17 +6178,17 @@ Post = (function() { node.id = Post.Clone.prefix + node.id; } Post.Clone.prefix++; - this.nodes = this.parseNodes(root); - ref2 = $$('.inline', this.nodes.post); + ref2 = $$('.inline', root); for (k = 0, len2 = ref2.length; k < len2; k++) { inline = ref2[k]; $.rm(inline); } - ref3 = $$('.inlined', this.nodes.post); + ref3 = $$('.inlined', root); for (l = 0, len3 = ref3.length; l < len3; l++) { inlined = ref3[l]; $.rmClass(inlined, 'inlined'); } + this.nodes = this.parseNodes(root); root.hidden = false; $.rmClass(root, 'forwarded'); $.rmClass(this.nodes.post, 'highlight'); @@ -18965,20 +18965,23 @@ Unread = (function() { titleDead = Unread.thread.isDead ? Unread.title.replace('-', (Unread.thread.isArchived ? '- Archived -' : '- 404 -')) : Unread.title; d.title = "" + titleQuotingYou + titleCount + titleDead; } - $.forceSync('Remember Last Read Post'); - if (Conf['Remember Last Read Post'] && (!Unread.thread.isDead || Unread.thread.isArchived)) { - ThreadWatcher.update(Unread.thread.board.ID, Unread.thread.ID, { - isDead: Unread.thread.isDead, - unread: count, - quotingYou: countQuotingYou - }); - } + Unread.saveThreadWatcherCount(); if (Conf['Unread Favicon']) { isDead = Unread.thread.isDead; Favicon.el.href = countQuotingYou ? Favicon[isDead ? 'unreadDeadY' : 'unreadY'] : count ? Favicon[isDead ? 'unreadDead' : 'unread'] : Favicon[isDead ? 'dead' : 'default']; return $.add(d.head, Favicon.el); } - } + }, + saveThreadWatcherCount: $.debounce(2 * $.SECOND, function() { + $.forceSync('Remember Last Read Post'); + if (Conf['Remember Last Read Post'] && (!Unread.thread.isDead || Unread.thread.isArchived)) { + return ThreadWatcher.update(Unread.thread.board.ID, Unread.thread.ID, { + isDead: Unread.thread.isDead, + unread: Unread.posts.size, + quotingYou: Unread.postsQuotingYou.size + }); + } + }) }; return Unread; @@ -21719,12 +21722,13 @@ QR = (function() { }; _Class.prototype.save = function(input) { - var name, ref; + var name, prev, ref; if (input.type === 'checkbox') { this.spoiler = input.checked; return; } name = input.dataset.name; + prev = this[name]; this[name] = input.value || input.dataset["default"] || null; switch (name) { case 'thread': @@ -21743,7 +21747,9 @@ QR = (function() { this.saveFilename(); return this.updateFilename(); case 'name': - return QR.persona.set(this); + if (this.name !== prev) { + return QR.persona.set(this); + } } }; diff --git a/builds/4chan-X.zip b/builds/4chan-X.zip index 5c94487ea..a6c41352e 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 56cea02bd..47991ee2f 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 74066d3bc..7160ceab2 100644 --- a/builds/updates.xml +++ b/builds/updates.xml @@ -1,7 +1,7 @@ - + diff --git a/version.json b/version.json index d798ac087..987bdce14 100644 --- a/version.json +++ b/version.json @@ -1,4 +1,4 @@ { - "version": "1.13.0.16", - "date": "2016-10-27T18:35:46.546Z" + "version": "1.13.0.17", + "date": "2016-10-30T05:07:56.889Z" } \ No newline at end of file