Release 4chan X v1.9.16.2.

This commit is contained in:
ccd0 2014-12-14 22:45:40 -08:00
parent e87f5dcb0c
commit d22a2dcf28
14 changed files with 141 additions and 102 deletions

View File

@ -3,6 +3,12 @@ The attributions below are for work that has been incorporated into the script a
The links to individual versions below are to copies of the script with the update URL removed. If you want automatic updates, install the script from the links on the [main page](https://github.com/ccd0/4chan-x).
<!-- v1.9.16.x -->
### v1.9.16.2
*2014-12-14* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.16.2/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.16.2/builds/4chan-X-noupdate.crx "Chromium version")]
**ccd0**
- Minor bugfixes.
### v1.9.16.1
*2014-12-14* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.16.1/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.16.1/builds/4chan-X-noupdate.crx "Chromium version")]

View File

@ -1,5 +1,5 @@
/*
* 4chan X - Version 1.9.16.1
* 4chan X - Version 1.9.16.2
*
* Licensed under the MIT license.
* https://github.com/ccd0/4chan-x/blob/master/LICENSE

Binary file not shown.

View File

@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X beta
// @version 1.9.16.1
// @version 1.9.16.2
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X

View File

@ -1,7 +1,7 @@
// Generated by CoffeeScript
// ==UserScript==
// @name 4chan X beta
// @version 1.9.16.1
// @version 1.9.16.2
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@ -25,7 +25,7 @@
// ==/UserScript==
/*
* 4chan X - Version 1.9.16.1
* 4chan X - Version 1.9.16.2
*
* Licensed under the MIT license.
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
@ -393,7 +393,7 @@
doc = d.documentElement;
g = {
VERSION: '1.9.16.1',
VERSION: '1.9.16.2',
NAMESPACE: '4chan X.',
NAME: '4chan X',
FAQ: 'https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions',
@ -1013,13 +1013,13 @@
}
Thread.prototype.setPage = function(pageNum) {
var icon, info;
info = this.OP.nodes.info;
var icon, info, quote, _ref;
_ref = this.OP.nodes, info = _ref.info, quote = _ref.quote;
if (!(icon = $('.page-num', info))) {
icon = $.el('span', {
className: 'page-num'
});
$.after($('a[title="Reply to this post"]', info), [$.tn(' '), icon]);
$.after(quote, [$.tn(' '), icon]);
}
icon.title = "This thread is on page " + pageNum + " in the original index.";
icon.textContent = "[" + pageNum + "]";
@ -1074,7 +1074,7 @@
title: type,
className: "" + typeLC + "Icon retina"
});
root = type !== 'Sticky' && this.isSticky ? $('.stickyIcon', this.OP.nodes.info) : $('.page-num', this.OP.nodes.info) || $('[title="Reply to this post"]', this.OP.nodes.info);
root = type !== 'Sticky' && this.isSticky ? $('.stickyIcon', this.OP.nodes.info) : $('.page-num', this.OP.nodes.info) || this.OP.nodes.quote;
$.after(root, [$.tn(' '), icon]);
if (!this.catalogView) {
return;
@ -1151,6 +1151,7 @@
post: post,
info: info,
nameBlock: $('.nameBlock', info),
quote: $('a[title*="Reply to this post"]', info),
comment: $('.postMessage', post),
links: [],
quotelinks: [],
@ -1435,6 +1436,8 @@
root: root,
post: post,
info: info,
nameBlock: $('.nameBlock', info),
quote: $('a[title*="Reply to this post"]', info),
comment: $('.postMessage', post),
quotelinks: [],
backlinks: info.getElementsByClassName('backlink')
@ -3925,7 +3928,7 @@
},
postFromRoot: function(root) {
var boardID, index, link, post, postID;
link = $('a[title="Link to this post"]', root);
link = $('a[title*="Link to this post"]', root);
boardID = link.pathname.split('/')[1];
postID = link.hash.slice(2);
index = root.dataset.clone;
@ -6600,7 +6603,7 @@
}
},
node: function() {
return $.on($('a[title="Reply to this post"]', this.nodes.info), 'click', QR.quote);
return $.on(this.nodes.quote, 'click', QR.quote);
},
open: function() {
var err;
@ -6744,7 +6747,7 @@
}
sel = d.getSelection();
post = Get.postFromNode(this);
text = ">>" + post + "\n";
text = post.board.ID === g.BOARD.ID ? ">>" + post + "\n" : ">>>/" + post.board + "/" + post + "\n";
if (sel.toString().trim() && post === Get.postFromNode(sel.anchorNode)) {
range = sel.getRangeAt(0);
frag = range.cloneContents();
@ -7056,7 +7059,7 @@
$.rmAll(list);
$.add(list, options);
list.value = val;
if (list.value) {
if (list.value === val) {
return;
}
list.value = g.VIEW === 'thread' ? g.THREADID : 'new';
@ -11823,7 +11826,7 @@
ThreadWatcher.fetchAllStatus();
this.db.save();
}
Thread.callbacks.push({
Post.callbacks.push({
name: 'Thread Watcher',
cb: this.node
});
@ -11866,11 +11869,18 @@
},
node: function() {
var toggler;
toggler = $.el('img', {
className: 'watch-thread-link'
});
$.on(toggler, 'click', ThreadWatcher.cb.toggle);
return $.before($('input', this.OP.nodes.post), toggler);
if (this.isReply) {
return;
}
if (this.isClone) {
toggler = $('.watch-thread-link', this.nodes.post);
} else {
toggler = $.el('img', {
className: 'watch-thread-link'
});
$.before($('input', this.nodes.post), toggler);
}
return $.on(toggler, 'click', ThreadWatcher.cb.toggle);
},
catalogNode: function() {
if (ThreadWatcher.isWatched(this.thread)) {
@ -12190,7 +12200,7 @@
return div;
},
refresh: function() {
var boardID, data, helper, list, nodes, refresher, thread, threadID, threads, toggler, _i, _j, _k, _len, _len1, _len2, _ref, _ref1, _ref2, _ref3;
var boardID, data, list, nodes, refresher, threadID, _i, _j, _len, _len1, _ref, _ref1, _ref2;
nodes = [];
_ref = ThreadWatcher.getAll();
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
@ -12200,24 +12210,25 @@
list = ThreadWatcher.list;
$.rmAll(list);
$.add(list, nodes);
threads = g.BOARD.threads;
_ref2 = threads.keys;
for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
threadID = _ref2[_j];
thread = threads[threadID];
g.threads.forEach(function(thread) {
var helper, post, toggler, _j, _len1, _ref2;
helper = ThreadWatcher.isWatched(thread) ? ['addClass', 'Unwatch'] : ['rmClass', 'Watch'];
if (thread.OP) {
toggler = $('.watch-thread-link', thread.OP.nodes.post);
$[helper[0]](toggler, 'watched');
toggler.title = "" + helper[1] + " Thread";
_ref2 = [thread.OP].concat(__slice.call(thread.OP.clones));
for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
post = _ref2[_j];
toggler = $('.watch-thread-link', post.nodes.post);
$[helper[0]](toggler, 'watched');
toggler.title = "" + helper[1] + " Thread";
}
}
if (thread.catalogView) {
$[helper[0]](thread.catalogView.nodes.root, 'watched');
return $[helper[0]](thread.catalogView.nodes.root, 'watched');
}
}
_ref3 = ThreadWatcher.menu.refreshers;
for (_k = 0, _len2 = _ref3.length; _k < _len2; _k++) {
refresher = _ref3[_k];
});
_ref2 = ThreadWatcher.menu.refreshers;
for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
refresher = _ref2[_j];
refresher();
}
if (Index.nodes && Conf['Pin Watched Threads']) {
@ -14472,7 +14483,7 @@
className: 'dialog'
});
$.extend(dialog, {
innerHTML: "<nav><div class=sections-list></div><p class='imp-exp-result warning'></p><div class=credits><a class=export>Export</a>&nbsp|&nbsp<a class=import>Import</a>&nbsp|&nbsp<a class=reset>Reset Settings</a>&nbsp|&nbsp<input type=file hidden><a href='https://github.com/ccd0/4chan-x' target=_blank>4chan X</a>&nbsp|&nbsp<a href='https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md' target=_blank>1.9.16.1</a>&nbsp|&nbsp<a href='https://github.com/ccd0/4chan-x/issues' target=_blank>Issues</a>&nbsp|&nbsp<a href=javascript:; class='close fa fa-times' title=Close></a></div></nav><div class=section-container><section></section></div>"
innerHTML: "<nav><div class=sections-list></div><p class='imp-exp-result warning'></p><div class=credits><a class=export>Export</a>&nbsp|&nbsp<a class=import>Import</a>&nbsp|&nbsp<a class=reset>Reset Settings</a>&nbsp|&nbsp<input type=file hidden><a href='https://github.com/ccd0/4chan-x' target=_blank>4chan X</a>&nbsp|&nbsp<a href='https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md' target=_blank>1.9.16.2</a>&nbsp|&nbsp<a href='https://github.com/ccd0/4chan-x/issues' target=_blank>Issues</a>&nbsp|&nbsp<a href=javascript:; class='close fa fa-times' title=Close></a></div></nav><div class=section-container><section></section></div>"
});
$.on($('.export', Settings.dialog), 'click', Settings["export"]);
$.on($('.import', Settings.dialog), 'click', Settings["import"]);

Binary file not shown.

View File

@ -1,7 +1,7 @@
// Generated by CoffeeScript
// ==UserScript==
// @name 4chan X
// @version 1.9.16.1
// @version 1.9.16.2
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@ -24,7 +24,7 @@
// ==/UserScript==
/*
* 4chan X - Version 1.9.16.1
* 4chan X - Version 1.9.16.2
*
* Licensed under the MIT license.
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
@ -392,7 +392,7 @@
doc = d.documentElement;
g = {
VERSION: '1.9.16.1',
VERSION: '1.9.16.2',
NAMESPACE: '4chan X.',
NAME: '4chan X',
FAQ: 'https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions',
@ -1012,13 +1012,13 @@
}
Thread.prototype.setPage = function(pageNum) {
var icon, info;
info = this.OP.nodes.info;
var icon, info, quote, _ref;
_ref = this.OP.nodes, info = _ref.info, quote = _ref.quote;
if (!(icon = $('.page-num', info))) {
icon = $.el('span', {
className: 'page-num'
});
$.after($('a[title="Reply to this post"]', info), [$.tn(' '), icon]);
$.after(quote, [$.tn(' '), icon]);
}
icon.title = "This thread is on page " + pageNum + " in the original index.";
icon.textContent = "[" + pageNum + "]";
@ -1073,7 +1073,7 @@
title: type,
className: "" + typeLC + "Icon retina"
});
root = type !== 'Sticky' && this.isSticky ? $('.stickyIcon', this.OP.nodes.info) : $('.page-num', this.OP.nodes.info) || $('[title="Reply to this post"]', this.OP.nodes.info);
root = type !== 'Sticky' && this.isSticky ? $('.stickyIcon', this.OP.nodes.info) : $('.page-num', this.OP.nodes.info) || this.OP.nodes.quote;
$.after(root, [$.tn(' '), icon]);
if (!this.catalogView) {
return;
@ -1150,6 +1150,7 @@
post: post,
info: info,
nameBlock: $('.nameBlock', info),
quote: $('a[title*="Reply to this post"]', info),
comment: $('.postMessage', post),
links: [],
quotelinks: [],
@ -1434,6 +1435,8 @@
root: root,
post: post,
info: info,
nameBlock: $('.nameBlock', info),
quote: $('a[title*="Reply to this post"]', info),
comment: $('.postMessage', post),
quotelinks: [],
backlinks: info.getElementsByClassName('backlink')
@ -3924,7 +3927,7 @@
},
postFromRoot: function(root) {
var boardID, index, link, post, postID;
link = $('a[title="Link to this post"]', root);
link = $('a[title*="Link to this post"]', root);
boardID = link.pathname.split('/')[1];
postID = link.hash.slice(2);
index = root.dataset.clone;
@ -6599,7 +6602,7 @@
}
},
node: function() {
return $.on($('a[title="Reply to this post"]', this.nodes.info), 'click', QR.quote);
return $.on(this.nodes.quote, 'click', QR.quote);
},
open: function() {
var err;
@ -6743,7 +6746,7 @@
}
sel = d.getSelection();
post = Get.postFromNode(this);
text = ">>" + post + "\n";
text = post.board.ID === g.BOARD.ID ? ">>" + post + "\n" : ">>>/" + post.board + "/" + post + "\n";
if (sel.toString().trim() && post === Get.postFromNode(sel.anchorNode)) {
range = sel.getRangeAt(0);
frag = range.cloneContents();
@ -7055,7 +7058,7 @@
$.rmAll(list);
$.add(list, options);
list.value = val;
if (list.value) {
if (list.value === val) {
return;
}
list.value = g.VIEW === 'thread' ? g.THREADID : 'new';
@ -11822,7 +11825,7 @@
ThreadWatcher.fetchAllStatus();
this.db.save();
}
Thread.callbacks.push({
Post.callbacks.push({
name: 'Thread Watcher',
cb: this.node
});
@ -11865,11 +11868,18 @@
},
node: function() {
var toggler;
toggler = $.el('img', {
className: 'watch-thread-link'
});
$.on(toggler, 'click', ThreadWatcher.cb.toggle);
return $.before($('input', this.OP.nodes.post), toggler);
if (this.isReply) {
return;
}
if (this.isClone) {
toggler = $('.watch-thread-link', this.nodes.post);
} else {
toggler = $.el('img', {
className: 'watch-thread-link'
});
$.before($('input', this.nodes.post), toggler);
}
return $.on(toggler, 'click', ThreadWatcher.cb.toggle);
},
catalogNode: function() {
if (ThreadWatcher.isWatched(this.thread)) {
@ -12189,7 +12199,7 @@
return div;
},
refresh: function() {
var boardID, data, helper, list, nodes, refresher, thread, threadID, threads, toggler, _i, _j, _k, _len, _len1, _len2, _ref, _ref1, _ref2, _ref3;
var boardID, data, list, nodes, refresher, threadID, _i, _j, _len, _len1, _ref, _ref1, _ref2;
nodes = [];
_ref = ThreadWatcher.getAll();
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
@ -12199,24 +12209,25 @@
list = ThreadWatcher.list;
$.rmAll(list);
$.add(list, nodes);
threads = g.BOARD.threads;
_ref2 = threads.keys;
for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
threadID = _ref2[_j];
thread = threads[threadID];
g.threads.forEach(function(thread) {
var helper, post, toggler, _j, _len1, _ref2;
helper = ThreadWatcher.isWatched(thread) ? ['addClass', 'Unwatch'] : ['rmClass', 'Watch'];
if (thread.OP) {
toggler = $('.watch-thread-link', thread.OP.nodes.post);
$[helper[0]](toggler, 'watched');
toggler.title = "" + helper[1] + " Thread";
_ref2 = [thread.OP].concat(__slice.call(thread.OP.clones));
for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
post = _ref2[_j];
toggler = $('.watch-thread-link', post.nodes.post);
$[helper[0]](toggler, 'watched');
toggler.title = "" + helper[1] + " Thread";
}
}
if (thread.catalogView) {
$[helper[0]](thread.catalogView.nodes.root, 'watched');
return $[helper[0]](thread.catalogView.nodes.root, 'watched');
}
}
_ref3 = ThreadWatcher.menu.refreshers;
for (_k = 0, _len2 = _ref3.length; _k < _len2; _k++) {
refresher = _ref3[_k];
});
_ref2 = ThreadWatcher.menu.refreshers;
for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
refresher = _ref2[_j];
refresher();
}
if (Index.nodes && Conf['Pin Watched Threads']) {
@ -14471,7 +14482,7 @@
className: 'dialog'
});
$.extend(dialog, {
innerHTML: "<nav><div class=sections-list></div><p class='imp-exp-result warning'></p><div class=credits><a class=export>Export</a>&nbsp|&nbsp<a class=import>Import</a>&nbsp|&nbsp<a class=reset>Reset Settings</a>&nbsp|&nbsp<input type=file hidden><a href='https://github.com/ccd0/4chan-x' target=_blank>4chan X</a>&nbsp|&nbsp<a href='https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md' target=_blank>1.9.16.1</a>&nbsp|&nbsp<a href='https://github.com/ccd0/4chan-x/issues' target=_blank>Issues</a>&nbsp|&nbsp<a href=javascript:; class='close fa fa-times' title=Close></a></div></nav><div class=section-container><section></section></div>"
innerHTML: "<nav><div class=sections-list></div><p class='imp-exp-result warning'></p><div class=credits><a class=export>Export</a>&nbsp|&nbsp<a class=import>Import</a>&nbsp|&nbsp<a class=reset>Reset Settings</a>&nbsp|&nbsp<input type=file hidden><a href='https://github.com/ccd0/4chan-x' target=_blank>4chan X</a>&nbsp|&nbsp<a href='https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md' target=_blank>1.9.16.2</a>&nbsp|&nbsp<a href='https://github.com/ccd0/4chan-x/issues' target=_blank>Issues</a>&nbsp|&nbsp<a href=javascript:; class='close fa fa-times' title=Close></a></div></nav><div class=section-container><section></section></div>"
});
$.on($('.export', Settings.dialog), 'click', Settings["export"]);
$.on($('.import', Settings.dialog), 'click', Settings["import"]);

Binary file not shown.

View File

@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
// @version 1.9.16.1
// @version 1.9.16.2
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X

View File

@ -1,7 +1,7 @@
// Generated by CoffeeScript
// ==UserScript==
// @name 4chan X
// @version 1.9.16.1
// @version 1.9.16.2
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@ -25,7 +25,7 @@
// ==/UserScript==
/*
* 4chan X - Version 1.9.16.1
* 4chan X - Version 1.9.16.2
*
* Licensed under the MIT license.
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
@ -393,7 +393,7 @@
doc = d.documentElement;
g = {
VERSION: '1.9.16.1',
VERSION: '1.9.16.2',
NAMESPACE: '4chan X.',
NAME: '4chan X',
FAQ: 'https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions',
@ -1013,13 +1013,13 @@
}
Thread.prototype.setPage = function(pageNum) {
var icon, info;
info = this.OP.nodes.info;
var icon, info, quote, _ref;
_ref = this.OP.nodes, info = _ref.info, quote = _ref.quote;
if (!(icon = $('.page-num', info))) {
icon = $.el('span', {
className: 'page-num'
});
$.after($('a[title="Reply to this post"]', info), [$.tn(' '), icon]);
$.after(quote, [$.tn(' '), icon]);
}
icon.title = "This thread is on page " + pageNum + " in the original index.";
icon.textContent = "[" + pageNum + "]";
@ -1074,7 +1074,7 @@
title: type,
className: "" + typeLC + "Icon retina"
});
root = type !== 'Sticky' && this.isSticky ? $('.stickyIcon', this.OP.nodes.info) : $('.page-num', this.OP.nodes.info) || $('[title="Reply to this post"]', this.OP.nodes.info);
root = type !== 'Sticky' && this.isSticky ? $('.stickyIcon', this.OP.nodes.info) : $('.page-num', this.OP.nodes.info) || this.OP.nodes.quote;
$.after(root, [$.tn(' '), icon]);
if (!this.catalogView) {
return;
@ -1151,6 +1151,7 @@
post: post,
info: info,
nameBlock: $('.nameBlock', info),
quote: $('a[title*="Reply to this post"]', info),
comment: $('.postMessage', post),
links: [],
quotelinks: [],
@ -1435,6 +1436,8 @@
root: root,
post: post,
info: info,
nameBlock: $('.nameBlock', info),
quote: $('a[title*="Reply to this post"]', info),
comment: $('.postMessage', post),
quotelinks: [],
backlinks: info.getElementsByClassName('backlink')
@ -3925,7 +3928,7 @@
},
postFromRoot: function(root) {
var boardID, index, link, post, postID;
link = $('a[title="Link to this post"]', root);
link = $('a[title*="Link to this post"]', root);
boardID = link.pathname.split('/')[1];
postID = link.hash.slice(2);
index = root.dataset.clone;
@ -6600,7 +6603,7 @@
}
},
node: function() {
return $.on($('a[title="Reply to this post"]', this.nodes.info), 'click', QR.quote);
return $.on(this.nodes.quote, 'click', QR.quote);
},
open: function() {
var err;
@ -6744,7 +6747,7 @@
}
sel = d.getSelection();
post = Get.postFromNode(this);
text = ">>" + post + "\n";
text = post.board.ID === g.BOARD.ID ? ">>" + post + "\n" : ">>>/" + post.board + "/" + post + "\n";
if (sel.toString().trim() && post === Get.postFromNode(sel.anchorNode)) {
range = sel.getRangeAt(0);
frag = range.cloneContents();
@ -7056,7 +7059,7 @@
$.rmAll(list);
$.add(list, options);
list.value = val;
if (list.value) {
if (list.value === val) {
return;
}
list.value = g.VIEW === 'thread' ? g.THREADID : 'new';
@ -11823,7 +11826,7 @@
ThreadWatcher.fetchAllStatus();
this.db.save();
}
Thread.callbacks.push({
Post.callbacks.push({
name: 'Thread Watcher',
cb: this.node
});
@ -11866,11 +11869,18 @@
},
node: function() {
var toggler;
toggler = $.el('img', {
className: 'watch-thread-link'
});
$.on(toggler, 'click', ThreadWatcher.cb.toggle);
return $.before($('input', this.OP.nodes.post), toggler);
if (this.isReply) {
return;
}
if (this.isClone) {
toggler = $('.watch-thread-link', this.nodes.post);
} else {
toggler = $.el('img', {
className: 'watch-thread-link'
});
$.before($('input', this.nodes.post), toggler);
}
return $.on(toggler, 'click', ThreadWatcher.cb.toggle);
},
catalogNode: function() {
if (ThreadWatcher.isWatched(this.thread)) {
@ -12190,7 +12200,7 @@
return div;
},
refresh: function() {
var boardID, data, helper, list, nodes, refresher, thread, threadID, threads, toggler, _i, _j, _k, _len, _len1, _len2, _ref, _ref1, _ref2, _ref3;
var boardID, data, list, nodes, refresher, threadID, _i, _j, _len, _len1, _ref, _ref1, _ref2;
nodes = [];
_ref = ThreadWatcher.getAll();
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
@ -12200,24 +12210,25 @@
list = ThreadWatcher.list;
$.rmAll(list);
$.add(list, nodes);
threads = g.BOARD.threads;
_ref2 = threads.keys;
for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
threadID = _ref2[_j];
thread = threads[threadID];
g.threads.forEach(function(thread) {
var helper, post, toggler, _j, _len1, _ref2;
helper = ThreadWatcher.isWatched(thread) ? ['addClass', 'Unwatch'] : ['rmClass', 'Watch'];
if (thread.OP) {
toggler = $('.watch-thread-link', thread.OP.nodes.post);
$[helper[0]](toggler, 'watched');
toggler.title = "" + helper[1] + " Thread";
_ref2 = [thread.OP].concat(__slice.call(thread.OP.clones));
for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
post = _ref2[_j];
toggler = $('.watch-thread-link', post.nodes.post);
$[helper[0]](toggler, 'watched');
toggler.title = "" + helper[1] + " Thread";
}
}
if (thread.catalogView) {
$[helper[0]](thread.catalogView.nodes.root, 'watched');
return $[helper[0]](thread.catalogView.nodes.root, 'watched');
}
}
_ref3 = ThreadWatcher.menu.refreshers;
for (_k = 0, _len2 = _ref3.length; _k < _len2; _k++) {
refresher = _ref3[_k];
});
_ref2 = ThreadWatcher.menu.refreshers;
for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
refresher = _ref2[_j];
refresher();
}
if (Index.nodes && Conf['Pin Watched Threads']) {
@ -14472,7 +14483,7 @@
className: 'dialog'
});
$.extend(dialog, {
innerHTML: "<nav><div class=sections-list></div><p class='imp-exp-result warning'></p><div class=credits><a class=export>Export</a>&nbsp|&nbsp<a class=import>Import</a>&nbsp|&nbsp<a class=reset>Reset Settings</a>&nbsp|&nbsp<input type=file hidden><a href='https://github.com/ccd0/4chan-x' target=_blank>4chan X</a>&nbsp|&nbsp<a href='https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md' target=_blank>1.9.16.1</a>&nbsp|&nbsp<a href='https://github.com/ccd0/4chan-x/issues' target=_blank>Issues</a>&nbsp|&nbsp<a href=javascript:; class='close fa fa-times' title=Close></a></div></nav><div class=section-container><section></section></div>"
innerHTML: "<nav><div class=sections-list></div><p class='imp-exp-result warning'></p><div class=credits><a class=export>Export</a>&nbsp|&nbsp<a class=import>Import</a>&nbsp|&nbsp<a class=reset>Reset Settings</a>&nbsp|&nbsp<input type=file hidden><a href='https://github.com/ccd0/4chan-x' target=_blank>4chan X</a>&nbsp|&nbsp<a href='https://github.com/ccd0/4chan-x/blob/master/CHANGELOG.md' target=_blank>1.9.16.2</a>&nbsp|&nbsp<a href='https://github.com/ccd0/4chan-x/issues' target=_blank>Issues</a>&nbsp|&nbsp<a href=javascript:; class='close fa fa-times' title=Close></a></div></nav><div class=section-container><section></section></div>"
});
$.on($('.export', Settings.dialog), 'click', Settings["export"]);
$.on($('.import', Settings.dialog), 'click', Settings["import"]);

Binary file not shown.

View File

@ -1,7 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
<app appid='lacclbnghgdicfifcamcmcnilckjamag'>
<updatecheck codebase='https://ccd0.github.io/4chan-x/builds/4chan-X-beta.crx' version='1.9.16.1' />
<updatecheck codebase='https://ccd0.github.io/4chan-x/builds/4chan-X-beta.crx' version='1.9.16.2' />
</app>
</gupdate>

View File

@ -1,7 +1,7 @@
<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
<app appid='lacclbnghgdicfifcamcmcnilckjamag'>
<updatecheck codebase='https://ccd0.github.io/4chan-x/builds/4chan-X.crx' version='1.9.16.1' />
<updatecheck codebase='https://ccd0.github.io/4chan-x/builds/4chan-X.crx' version='1.9.16.2' />
</app>
</gupdate>

View File

@ -3,7 +3,7 @@
"description": "Cross-browser userscript for maximum lurking on 4chan.",
"meta": {
"name": "4chan X",
"version": "1.9.16.1",
"version": "1.9.16.2",
"repo": "https://github.com/ccd0/4chan-x/",
"page": "https://github.com/ccd0/4chan-x",
"downloads": "https://ccd0.github.io/4chan-x/builds/",