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