diff --git a/CHANGELOG.md b/CHANGELOG.md
index 050999d46..a8e2976cb 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,13 @@
### v1.13.1
+**v1.13.1.5** *(2016-11-13)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.13.1.5/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.13.1.5/builds/4chan-X-noupdate.crx)]
+- Merge v1.13.0.25: Fix bug from v1.13.0.0 causing errors on index refresh in certain cases when creating threads with cookies disabled. #1184
+- Merge v1.13.0.25: Better link text in file error message: 'delete' -> 'delete post'. #1186
+- Merge v1.13.0.25: Fix bug causing auto-pruning if you refreshed the index too soon after creating a thread.
+- Add `Catalog Hover Toggle` setting, which sets whether clicking in the catalog toggles `Catalog Hover Expand`.
+- Improved support for those who want to unblock the top banner ads. See the [FAQ](https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions#ads) for how to do so.
+
**v1.13.1.4** *(2016-11-09)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.13.1.4/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.13.1.4/builds/4chan-X-noupdate.crx)]
- Fix deletion cooldown bug from v1.13.1.0.
diff --git a/builds/4chan-X-beta.crx b/builds/4chan-X-beta.crx
index 26a7f68b0..e03023e4b 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 25129b8c0..292e7d591 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.1.4
+// @version 1.13.1.5
// @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 e58363f74..75b73acdf 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.1.4
+// @version 1.13.1.5
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -147,7 +147,7 @@ docSet = function() {
};
g = {
- VERSION: '1.13.1.4',
+ VERSION: '1.13.1.5',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -385,7 +385,8 @@ Config = (function() {
'Previous Index Mode': 'paged',
'Index Size': 'small',
'Show Replies': [true, 'Show replies in the index, and also in the catalog if "Catalog hover expand" is checked.'],
- 'Catalog Hover Expand': [true, 'Clicking in the catalog shows more details in the thread you are hovering over.'],
+ 'Catalog Hover Expand': [false, 'Expand the comment and show more details when you hover over a thread in the catalog.'],
+ 'Catalog Hover Toggle': [true, 'Turn "Catalog hover expand" on and off by clicking in the catalog.'],
'Pin Watched Threads': [false, 'Move watched threads to the start of the index.'],
'Anchor Hidden Threads': [true, 'Move hidden threads to the end of the index.'],
'Refreshed Navigation': [false, 'Refresh index when navigating through pages.']
@@ -411,7 +412,7 @@ Config = (function() {
'QR.personas': "#options:\"sage\";boards:jp;always",
sjisPreview: false
},
- jsWhitelist: 'http://s.4cdn.org\nhttps://s.4cdn.org\nhttp://www.google.com\nhttps://www.google.com\nhttps://www.gstatic.com\nhttp://cdn.mathjax.org\nhttps://cdn.mathjax.org\n\'self\'\n\'unsafe-inline\'\n\'unsafe-eval\'',
+ jsWhitelist: 'http://s.4cdn.org\nhttps://s.4cdn.org\nhttp://www.google.com\nhttps://www.google.com\nhttps://www.gstatic.com\nhttp://cdn.mathjax.org\nhttps://cdn.mathjax.org\n\'self\'\n\'unsafe-inline\'\n\'unsafe-eval\'\n\n# Banner ads\n#http://s.zkcdn.net/ados.js\n#https://s.zkcdn.net/ados.js\n#http://engine.4chan-ads.org\n#https://engine.4chan-ads.org',
captchaLanguage: '',
time: '%m/%d/%y(%a)%H:%M:%S',
backlink: '>>%id',
@@ -1330,10 +1331,10 @@ body > div[style*=\" top: -10000px;\"] {\n\
:root:not(.ads-loaded) .ad-plea,\n\
:root:not(.ads-loaded) hr.abovePostForm,\n\
:root:not(.ads-loaded) .ad-plea-bottom + hr,\n\
-:root:not(.ads-loaded) #adg-ol + hr {\n\
+#adg-ol + hr {\n\
display: none;\n\
}\n\
-:root:not(.ads-loaded) .adg-rects {\n\
+.adg-rects {\n\
margin: 0;\n\
font-size: 0;\n\
}\n\
@@ -2080,8 +2081,8 @@ div[data-checked=\"false\"] > .suboption-list {\n\
display: inline-block;\n\
font-style: italic;\n\
}\n\
-.catalog-post > * > .nameBlock,\n\
-.catalog-post > * > .dateTime,\n\
+:root.catalog-hover-expand .catalog-container:hover > * > * > .nameBlock,\n\
+:root.catalog-hover-expand .catalog-container:hover > * > * > .dateTime,\n\
:root.catalog-hover-expand .catalog-container:hover > * > .postMessage:not(:empty) {\n\
padding-top: .3em;\n\
}\n\
@@ -9318,7 +9319,7 @@ Index = (function() {
});
Header.addShortcut('index-refresh', this.button, 590);
entries = [];
- inputs = {};
+ this.inputs = inputs = {};
ref4 = Config.Index;
for (name in ref4) {
arr = ref4[name];
@@ -9350,7 +9351,7 @@ Index = (function() {
sortEntry = UI.checkbox('Per-Board Sort Type', 'Per-board sort type', typeof Conf['Index Sort'] === 'object');
sortEntry.title = 'Set the sorting order of each board independently.';
$.on(sortEntry.firstChild, 'change', this.cb.perBoardSort);
- entries.splice(2, 0, {
+ entries.splice(3, 0, {
el: sortEntry
});
Header.menu.addEntry({
@@ -9398,6 +9399,7 @@ Index = (function() {
});
$.on(this.root, 'click', this.cb.hoverToggle);
this.cb.size();
+ this.cb.hover();
this.pagelist = $.el('div', {
className: 'pagelist json-index'
});
@@ -9630,14 +9632,14 @@ Index = (function() {
return Index.buildIndex();
},
hover: function() {
- if (!Conf['Catalog Hover Expand']) {
- return $.rmClass(doc, 'catalog-hover-expand');
- }
+ return doc.classList.toggle('catalog-hover-expand', Conf['Catalog Hover Expand']);
},
hoverToggle: function(e) {
- var thread;
- if (Conf['Catalog Hover Expand'] && $.hasClass(doc, 'catalog-mode') && !$.modifiedClick(e) && !$.x('ancestor-or-self::a', e.target)) {
- $.toggleClass(doc, 'catalog-hover-expand');
+ var input, thread;
+ if (Conf['Catalog Hover Toggle'] && $.hasClass(doc, 'catalog-mode') && !$.modifiedClick(e) && !$.x('ancestor-or-self::a', e.target)) {
+ input = Index.inputs['Catalog Hover Expand'];
+ input.checked = !input.checked;
+ $.event('change', null, input);
if ((thread = Get.threadFromNode(e.target))) {
Index.cb.catalogReplies.call(thread);
return Index.cb.hoverAdjust.call(thread.OP.nodes);
@@ -10706,8 +10708,8 @@ Settings = (function() {
}
},
ads: function(cb) {
- return $.onExists(doc, '.ad-cnt, .adg-rects', function(ad) {
- return $.onExists(ad, 'img, iframe', function() {
+ return $.onExists(doc, '.adg-rects > .desktop', function(ad) {
+ return $.onExists(ad, 'iframe', function() {
var url;
url = Redirect.to('thread', {
boardID: 'qa',
@@ -18367,14 +18369,18 @@ ThreadWatcher = (function() {
ThreadWatcher.setToggler(toggler, !!data);
$.on(toggler, 'click', ThreadWatcher.cb.toggle);
if (data && (data.excerpt == null)) {
- ThreadWatcher.db.extend({
- boardID: boardID,
- threadID: threadID,
- val: {
- excerpt: Get.threadExcerpt(this.thread)
- }
- });
- return ThreadWatcher.refresh();
+ return $.queueTask((function(_this) {
+ return function() {
+ ThreadWatcher.db.extend({
+ boardID: boardID,
+ threadID: threadID,
+ val: {
+ excerpt: Get.threadExcerpt(_this.thread)
+ }
+ });
+ return ThreadWatcher.refresh();
+ };
+ })(this));
}
},
catalogNode: function() {
@@ -18467,6 +18473,11 @@ ThreadWatcher = (function() {
if (!(!(data != null ? data.isDead : void 0) && (ref1 = boardID + "." + threadID, indexOf.call(e.detail.threads, ref1) < 0))) {
continue;
}
+ if (!e.detail.threads.some(function(fullID) {
+ return +fullID.split('.')[1] > threadID;
+ })) {
+ continue;
+ }
nKilled++;
if (Conf['Auto Prune'] || !(data && typeof data === 'object')) {
db["delete"]({
@@ -22168,7 +22179,7 @@ QR = (function() {
className: className
});
$.extend(div, {
- innerHTML: E(message) + "
[delete] [delete all]"
+ innerHTML: E(message) + "
[delete post] [delete all]"
});
(this.errors || (this.errors = [])).push(div);
ref = $$('a', div), rm = ref[0], rmAll = ref[1];
diff --git a/builds/4chan-X-noupdate.crx b/builds/4chan-X-noupdate.crx
index b947b31a6..f8b63da42 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 0fa4c3897..d3479a526 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.1.4
+// @version 1.13.1.5
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -147,7 +147,7 @@ docSet = function() {
};
g = {
- VERSION: '1.13.1.4',
+ VERSION: '1.13.1.5',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -385,7 +385,8 @@ Config = (function() {
'Previous Index Mode': 'paged',
'Index Size': 'small',
'Show Replies': [true, 'Show replies in the index, and also in the catalog if "Catalog hover expand" is checked.'],
- 'Catalog Hover Expand': [true, 'Clicking in the catalog shows more details in the thread you are hovering over.'],
+ 'Catalog Hover Expand': [false, 'Expand the comment and show more details when you hover over a thread in the catalog.'],
+ 'Catalog Hover Toggle': [true, 'Turn "Catalog hover expand" on and off by clicking in the catalog.'],
'Pin Watched Threads': [false, 'Move watched threads to the start of the index.'],
'Anchor Hidden Threads': [true, 'Move hidden threads to the end of the index.'],
'Refreshed Navigation': [false, 'Refresh index when navigating through pages.']
@@ -411,7 +412,7 @@ Config = (function() {
'QR.personas': "#options:\"sage\";boards:jp;always",
sjisPreview: false
},
- jsWhitelist: 'http://s.4cdn.org\nhttps://s.4cdn.org\nhttp://www.google.com\nhttps://www.google.com\nhttps://www.gstatic.com\nhttp://cdn.mathjax.org\nhttps://cdn.mathjax.org\n\'self\'\n\'unsafe-inline\'\n\'unsafe-eval\'',
+ jsWhitelist: 'http://s.4cdn.org\nhttps://s.4cdn.org\nhttp://www.google.com\nhttps://www.google.com\nhttps://www.gstatic.com\nhttp://cdn.mathjax.org\nhttps://cdn.mathjax.org\n\'self\'\n\'unsafe-inline\'\n\'unsafe-eval\'\n\n# Banner ads\n#http://s.zkcdn.net/ados.js\n#https://s.zkcdn.net/ados.js\n#http://engine.4chan-ads.org\n#https://engine.4chan-ads.org',
captchaLanguage: '',
time: '%m/%d/%y(%a)%H:%M:%S',
backlink: '>>%id',
@@ -1330,10 +1331,10 @@ body > div[style*=\" top: -10000px;\"] {\n\
:root:not(.ads-loaded) .ad-plea,\n\
:root:not(.ads-loaded) hr.abovePostForm,\n\
:root:not(.ads-loaded) .ad-plea-bottom + hr,\n\
-:root:not(.ads-loaded) #adg-ol + hr {\n\
+#adg-ol + hr {\n\
display: none;\n\
}\n\
-:root:not(.ads-loaded) .adg-rects {\n\
+.adg-rects {\n\
margin: 0;\n\
font-size: 0;\n\
}\n\
@@ -2080,8 +2081,8 @@ div[data-checked=\"false\"] > .suboption-list {\n\
display: inline-block;\n\
font-style: italic;\n\
}\n\
-.catalog-post > * > .nameBlock,\n\
-.catalog-post > * > .dateTime,\n\
+:root.catalog-hover-expand .catalog-container:hover > * > * > .nameBlock,\n\
+:root.catalog-hover-expand .catalog-container:hover > * > * > .dateTime,\n\
:root.catalog-hover-expand .catalog-container:hover > * > .postMessage:not(:empty) {\n\
padding-top: .3em;\n\
}\n\
@@ -9318,7 +9319,7 @@ Index = (function() {
});
Header.addShortcut('index-refresh', this.button, 590);
entries = [];
- inputs = {};
+ this.inputs = inputs = {};
ref4 = Config.Index;
for (name in ref4) {
arr = ref4[name];
@@ -9350,7 +9351,7 @@ Index = (function() {
sortEntry = UI.checkbox('Per-Board Sort Type', 'Per-board sort type', typeof Conf['Index Sort'] === 'object');
sortEntry.title = 'Set the sorting order of each board independently.';
$.on(sortEntry.firstChild, 'change', this.cb.perBoardSort);
- entries.splice(2, 0, {
+ entries.splice(3, 0, {
el: sortEntry
});
Header.menu.addEntry({
@@ -9398,6 +9399,7 @@ Index = (function() {
});
$.on(this.root, 'click', this.cb.hoverToggle);
this.cb.size();
+ this.cb.hover();
this.pagelist = $.el('div', {
className: 'pagelist json-index'
});
@@ -9630,14 +9632,14 @@ Index = (function() {
return Index.buildIndex();
},
hover: function() {
- if (!Conf['Catalog Hover Expand']) {
- return $.rmClass(doc, 'catalog-hover-expand');
- }
+ return doc.classList.toggle('catalog-hover-expand', Conf['Catalog Hover Expand']);
},
hoverToggle: function(e) {
- var thread;
- if (Conf['Catalog Hover Expand'] && $.hasClass(doc, 'catalog-mode') && !$.modifiedClick(e) && !$.x('ancestor-or-self::a', e.target)) {
- $.toggleClass(doc, 'catalog-hover-expand');
+ var input, thread;
+ if (Conf['Catalog Hover Toggle'] && $.hasClass(doc, 'catalog-mode') && !$.modifiedClick(e) && !$.x('ancestor-or-self::a', e.target)) {
+ input = Index.inputs['Catalog Hover Expand'];
+ input.checked = !input.checked;
+ $.event('change', null, input);
if ((thread = Get.threadFromNode(e.target))) {
Index.cb.catalogReplies.call(thread);
return Index.cb.hoverAdjust.call(thread.OP.nodes);
@@ -10706,8 +10708,8 @@ Settings = (function() {
}
},
ads: function(cb) {
- return $.onExists(doc, '.ad-cnt, .adg-rects', function(ad) {
- return $.onExists(ad, 'img, iframe', function() {
+ return $.onExists(doc, '.adg-rects > .desktop', function(ad) {
+ return $.onExists(ad, 'iframe', function() {
var url;
url = Redirect.to('thread', {
boardID: 'qa',
@@ -18367,14 +18369,18 @@ ThreadWatcher = (function() {
ThreadWatcher.setToggler(toggler, !!data);
$.on(toggler, 'click', ThreadWatcher.cb.toggle);
if (data && (data.excerpt == null)) {
- ThreadWatcher.db.extend({
- boardID: boardID,
- threadID: threadID,
- val: {
- excerpt: Get.threadExcerpt(this.thread)
- }
- });
- return ThreadWatcher.refresh();
+ return $.queueTask((function(_this) {
+ return function() {
+ ThreadWatcher.db.extend({
+ boardID: boardID,
+ threadID: threadID,
+ val: {
+ excerpt: Get.threadExcerpt(_this.thread)
+ }
+ });
+ return ThreadWatcher.refresh();
+ };
+ })(this));
}
},
catalogNode: function() {
@@ -18467,6 +18473,11 @@ ThreadWatcher = (function() {
if (!(!(data != null ? data.isDead : void 0) && (ref1 = boardID + "." + threadID, indexOf.call(e.detail.threads, ref1) < 0))) {
continue;
}
+ if (!e.detail.threads.some(function(fullID) {
+ return +fullID.split('.')[1] > threadID;
+ })) {
+ continue;
+ }
nKilled++;
if (Conf['Auto Prune'] || !(data && typeof data === 'object')) {
db["delete"]({
@@ -22168,7 +22179,7 @@ QR = (function() {
className: className
});
$.extend(div, {
- innerHTML: E(message) + "
[delete] [delete all]"
+ innerHTML: E(message) + "
[delete post] [delete all]"
});
(this.errors || (this.errors = [])).push(div);
ref = $$('a', div), rm = ref[0], rmAll = ref[1];
diff --git a/builds/4chan-X.crx b/builds/4chan-X.crx
index bb59095bf..6f234dc83 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 7d5d105f3..daf25f62d 100644
--- a/builds/4chan-X.meta.js
+++ b/builds/4chan-X.meta.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
-// @version 1.13.1.4
+// @version 1.13.1.5
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js
index de8ef1522..96dcd2c2f 100644
--- a/builds/4chan-X.user.js
+++ b/builds/4chan-X.user.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
-// @version 1.13.1.4
+// @version 1.13.1.5
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -147,7 +147,7 @@ docSet = function() {
};
g = {
- VERSION: '1.13.1.4',
+ VERSION: '1.13.1.5',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -385,7 +385,8 @@ Config = (function() {
'Previous Index Mode': 'paged',
'Index Size': 'small',
'Show Replies': [true, 'Show replies in the index, and also in the catalog if "Catalog hover expand" is checked.'],
- 'Catalog Hover Expand': [true, 'Clicking in the catalog shows more details in the thread you are hovering over.'],
+ 'Catalog Hover Expand': [false, 'Expand the comment and show more details when you hover over a thread in the catalog.'],
+ 'Catalog Hover Toggle': [true, 'Turn "Catalog hover expand" on and off by clicking in the catalog.'],
'Pin Watched Threads': [false, 'Move watched threads to the start of the index.'],
'Anchor Hidden Threads': [true, 'Move hidden threads to the end of the index.'],
'Refreshed Navigation': [false, 'Refresh index when navigating through pages.']
@@ -411,7 +412,7 @@ Config = (function() {
'QR.personas': "#options:\"sage\";boards:jp;always",
sjisPreview: false
},
- jsWhitelist: 'http://s.4cdn.org\nhttps://s.4cdn.org\nhttp://www.google.com\nhttps://www.google.com\nhttps://www.gstatic.com\nhttp://cdn.mathjax.org\nhttps://cdn.mathjax.org\n\'self\'\n\'unsafe-inline\'\n\'unsafe-eval\'',
+ jsWhitelist: 'http://s.4cdn.org\nhttps://s.4cdn.org\nhttp://www.google.com\nhttps://www.google.com\nhttps://www.gstatic.com\nhttp://cdn.mathjax.org\nhttps://cdn.mathjax.org\n\'self\'\n\'unsafe-inline\'\n\'unsafe-eval\'\n\n# Banner ads\n#http://s.zkcdn.net/ados.js\n#https://s.zkcdn.net/ados.js\n#http://engine.4chan-ads.org\n#https://engine.4chan-ads.org',
captchaLanguage: '',
time: '%m/%d/%y(%a)%H:%M:%S',
backlink: '>>%id',
@@ -1330,10 +1331,10 @@ body > div[style*=\" top: -10000px;\"] {\n\
:root:not(.ads-loaded) .ad-plea,\n\
:root:not(.ads-loaded) hr.abovePostForm,\n\
:root:not(.ads-loaded) .ad-plea-bottom + hr,\n\
-:root:not(.ads-loaded) #adg-ol + hr {\n\
+#adg-ol + hr {\n\
display: none;\n\
}\n\
-:root:not(.ads-loaded) .adg-rects {\n\
+.adg-rects {\n\
margin: 0;\n\
font-size: 0;\n\
}\n\
@@ -2080,8 +2081,8 @@ div[data-checked=\"false\"] > .suboption-list {\n\
display: inline-block;\n\
font-style: italic;\n\
}\n\
-.catalog-post > * > .nameBlock,\n\
-.catalog-post > * > .dateTime,\n\
+:root.catalog-hover-expand .catalog-container:hover > * > * > .nameBlock,\n\
+:root.catalog-hover-expand .catalog-container:hover > * > * > .dateTime,\n\
:root.catalog-hover-expand .catalog-container:hover > * > .postMessage:not(:empty) {\n\
padding-top: .3em;\n\
}\n\
@@ -9318,7 +9319,7 @@ Index = (function() {
});
Header.addShortcut('index-refresh', this.button, 590);
entries = [];
- inputs = {};
+ this.inputs = inputs = {};
ref4 = Config.Index;
for (name in ref4) {
arr = ref4[name];
@@ -9350,7 +9351,7 @@ Index = (function() {
sortEntry = UI.checkbox('Per-Board Sort Type', 'Per-board sort type', typeof Conf['Index Sort'] === 'object');
sortEntry.title = 'Set the sorting order of each board independently.';
$.on(sortEntry.firstChild, 'change', this.cb.perBoardSort);
- entries.splice(2, 0, {
+ entries.splice(3, 0, {
el: sortEntry
});
Header.menu.addEntry({
@@ -9398,6 +9399,7 @@ Index = (function() {
});
$.on(this.root, 'click', this.cb.hoverToggle);
this.cb.size();
+ this.cb.hover();
this.pagelist = $.el('div', {
className: 'pagelist json-index'
});
@@ -9630,14 +9632,14 @@ Index = (function() {
return Index.buildIndex();
},
hover: function() {
- if (!Conf['Catalog Hover Expand']) {
- return $.rmClass(doc, 'catalog-hover-expand');
- }
+ return doc.classList.toggle('catalog-hover-expand', Conf['Catalog Hover Expand']);
},
hoverToggle: function(e) {
- var thread;
- if (Conf['Catalog Hover Expand'] && $.hasClass(doc, 'catalog-mode') && !$.modifiedClick(e) && !$.x('ancestor-or-self::a', e.target)) {
- $.toggleClass(doc, 'catalog-hover-expand');
+ var input, thread;
+ if (Conf['Catalog Hover Toggle'] && $.hasClass(doc, 'catalog-mode') && !$.modifiedClick(e) && !$.x('ancestor-or-self::a', e.target)) {
+ input = Index.inputs['Catalog Hover Expand'];
+ input.checked = !input.checked;
+ $.event('change', null, input);
if ((thread = Get.threadFromNode(e.target))) {
Index.cb.catalogReplies.call(thread);
return Index.cb.hoverAdjust.call(thread.OP.nodes);
@@ -10706,8 +10708,8 @@ Settings = (function() {
}
},
ads: function(cb) {
- return $.onExists(doc, '.ad-cnt, .adg-rects', function(ad) {
- return $.onExists(ad, 'img, iframe', function() {
+ return $.onExists(doc, '.adg-rects > .desktop', function(ad) {
+ return $.onExists(ad, 'iframe', function() {
var url;
url = Redirect.to('thread', {
boardID: 'qa',
@@ -18367,14 +18369,18 @@ ThreadWatcher = (function() {
ThreadWatcher.setToggler(toggler, !!data);
$.on(toggler, 'click', ThreadWatcher.cb.toggle);
if (data && (data.excerpt == null)) {
- ThreadWatcher.db.extend({
- boardID: boardID,
- threadID: threadID,
- val: {
- excerpt: Get.threadExcerpt(this.thread)
- }
- });
- return ThreadWatcher.refresh();
+ return $.queueTask((function(_this) {
+ return function() {
+ ThreadWatcher.db.extend({
+ boardID: boardID,
+ threadID: threadID,
+ val: {
+ excerpt: Get.threadExcerpt(_this.thread)
+ }
+ });
+ return ThreadWatcher.refresh();
+ };
+ })(this));
}
},
catalogNode: function() {
@@ -18467,6 +18473,11 @@ ThreadWatcher = (function() {
if (!(!(data != null ? data.isDead : void 0) && (ref1 = boardID + "." + threadID, indexOf.call(e.detail.threads, ref1) < 0))) {
continue;
}
+ if (!e.detail.threads.some(function(fullID) {
+ return +fullID.split('.')[1] > threadID;
+ })) {
+ continue;
+ }
nKilled++;
if (Conf['Auto Prune'] || !(data && typeof data === 'object')) {
db["delete"]({
@@ -22168,7 +22179,7 @@ QR = (function() {
className: className
});
$.extend(div, {
- innerHTML: E(message) + "
[delete] [delete all]"
+ innerHTML: E(message) + "
[delete post] [delete all]"
});
(this.errors || (this.errors = [])).push(div);
ref = $$('a', div), rm = ref[0], rmAll = ref[1];
diff --git a/builds/4chan-X.zip b/builds/4chan-X.zip
index d7d8d47da..520b01c8c 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 9605d68bb..fde0a332a 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 eb2186b43..a62b3626a 100644
--- a/builds/updates.xml
+++ b/builds/updates.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/version.json b/version.json
index 0e178da27..0cc66520f 100644
--- a/version.json
+++ b/version.json
@@ -1,4 +1,4 @@
{
- "version": "1.13.1.4",
- "date": "2016-11-09T23:17:32.436Z"
+ "version": "1.13.1.5",
+ "date": "2016-11-13T22:03:43.907Z"
}
\ No newline at end of file