Release 4chan X v1.10.8.4.
This commit is contained in:
parent
344f5a7c82
commit
9d43c8c6b6
@ -4,6 +4,10 @@ The links to individual versions below are to copies of the script with the upda
|
||||
|
||||
### v1.10.8
|
||||
|
||||
**v1.10.8.4** *(2015-04-07)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.10.8.4/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.10.8.4/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||
- Revert the thread watcher remembering whether it was closed or open.
|
||||
- Break up `Toggleable Thread Watcher` option into `Fixed Thread Watcher` and `Toggleable Thread Watcher`.
|
||||
|
||||
**v1.10.8.3** *(2015-04-06)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.10.8.3/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.10.8.3/builds/4chan-X-noupdate.crx "Chromium version")]
|
||||
- Don't clear the unread count of 404'd threads in the thread watcher until they're visited.
|
||||
|
||||
|
||||
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
// ==UserScript==
|
||||
// @name 4chan X beta
|
||||
// @version 1.10.8.3
|
||||
// @version 1.10.8.4
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
// Generated by CoffeeScript
|
||||
// ==UserScript==
|
||||
// @name 4chan X beta
|
||||
// @version 1.10.8.3
|
||||
// @version 1.10.8.4
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
@ -215,7 +215,8 @@
|
||||
'Page Count in Stats': [true, 'Display the page count in the thread stats.', 1],
|
||||
'Updater and Stats in Header': [true, 'Places the thread updater and thread stats in the header instead of floating them.'],
|
||||
'Thread Watcher': [true, 'Bookmark threads.'],
|
||||
'Toggleable Thread Watcher': [true, 'Adds a shortcut for the thread watcher, hides the watcher by default, and makes it scroll with the page.', 1],
|
||||
'Fixed Thread Watcher': [null, 'Makes the thread watcher scroll with the page.', 1],
|
||||
'Toggleable Thread Watcher': [true, 'Adds a shortcut for the thread watcher and hides the watcher by default.', 1],
|
||||
'Mark New IPs': [false, 'Label each post from a new IP with the thread\'s current IP count.']
|
||||
},
|
||||
'Posting': {
|
||||
@ -278,7 +279,6 @@
|
||||
'Auto Prune': [false, 'Automatically remove dead threads.'],
|
||||
'Show Unread Count': [true, 'Show number of unread posts in watched threads.']
|
||||
},
|
||||
'Thread Watcher Hidden': true,
|
||||
filter: {
|
||||
name: "# Filter any namefags:\n#/^(?!Anonymous$)/",
|
||||
uniqueID: "# Filter a specific ID:\n#/Txhvk1Tl/",
|
||||
@ -396,7 +396,7 @@
|
||||
doc = d.documentElement;
|
||||
|
||||
g = {
|
||||
VERSION: '1.10.8.3',
|
||||
VERSION: '1.10.8.4',
|
||||
NAMESPACE: '4chan X.',
|
||||
boards: {}
|
||||
};
|
||||
@ -12414,14 +12414,10 @@
|
||||
this.refreshButton = $('.refresh', this.dialog);
|
||||
this.closeButton = $('.move > .close', this.dialog);
|
||||
this.unreaddb = Unread.db || new DataBoard('lastReadPosts');
|
||||
if (Conf['Toggleable Thread Watcher']) {
|
||||
this.setHidden(Conf['Thread Watcher Hidden']);
|
||||
$.sync('Thread Watcher Hidden', this.setHidden);
|
||||
}
|
||||
$.on(d, 'QRPostSuccessful', this.cb.post);
|
||||
$.on(sc, 'click', this.toggleHidden);
|
||||
$.on(sc, 'click', this.toggleWatcher);
|
||||
$.on(this.refreshButton, 'click', this.fetchAllStatus);
|
||||
$.on(this.closeButton, 'click', this.toggleHidden);
|
||||
$.on(this.closeButton, 'click', this.toggleWatcher);
|
||||
$.on(d, '4chanXInitFinished', this.ready);
|
||||
switch (g.VIEW) {
|
||||
case 'index':
|
||||
@ -12430,10 +12426,14 @@
|
||||
case 'thread':
|
||||
$.on(d, 'ThreadUpdate', this.cb.onThreadRefresh);
|
||||
}
|
||||
if (Conf['Toggleable Thread Watcher']) {
|
||||
Header.addShortcut(sc);
|
||||
if (Conf['Fixed Thread Watcher']) {
|
||||
$.addClass(doc, 'fixed-watcher');
|
||||
}
|
||||
if (Conf['Toggleable Thread Watcher']) {
|
||||
this.dialog.hidden = true;
|
||||
Header.addShortcut(sc);
|
||||
$.addClass(doc, 'toggleable-watcher');
|
||||
}
|
||||
ThreadWatcher.fetchAuto();
|
||||
if (g.VIEW === 'index' && Conf['JSON Navigation'] && Conf['Menu'] && g.BOARD.ID !== 'f') {
|
||||
Menu.menu.addEntry({
|
||||
@ -12526,16 +12526,9 @@
|
||||
return $["delete"]('AutoWatch');
|
||||
});
|
||||
},
|
||||
setHidden: function(hide) {
|
||||
ThreadWatcher.shortcut.classList.toggle('disabled', hide);
|
||||
ThreadWatcher.dialog.hidden = hide;
|
||||
return Conf['Thread Watcher Hidden'] = hide;
|
||||
},
|
||||
toggleHidden: function() {
|
||||
var hide;
|
||||
hide = !ThreadWatcher.dialog.hidden;
|
||||
ThreadWatcher.setHidden(hide);
|
||||
return $.set('Thread Watcher Hidden', hide);
|
||||
toggleWatcher: function() {
|
||||
$.toggleClass(ThreadWatcher.shortcut, 'disabled');
|
||||
return ThreadWatcher.dialog.hidden = !ThreadWatcher.dialog.hidden;
|
||||
},
|
||||
cb: {
|
||||
openAll: function() {
|
||||
@ -16085,6 +16078,9 @@
|
||||
Conf['selectedArchives'] = {};
|
||||
$.get(Conf, function(items) {
|
||||
$.extend(Conf, items);
|
||||
if (Conf['Fixed Thread Watcher'] == null) {
|
||||
Conf['Fixed Thread Watcher'] = Conf['Toggleable Thread Watcher'];
|
||||
}
|
||||
return $.asap((function() {
|
||||
return doc = d.documentElement;
|
||||
}), Main.initFeatures);
|
||||
@ -17784,7 +17780,7 @@
|
||||
":root.fixed-watcher #thread-watcher {\n" +
|
||||
" position: fixed;\n" +
|
||||
"}\n" +
|
||||
":root:not(.fixed-watcher) #thread-watcher:not(:hover) {\n" +
|
||||
":root:not(.toggleable-watcher) #thread-watcher:not(:hover) {\n" +
|
||||
" max-height: 210px;\n" +
|
||||
" overflow-y: hidden;\n" +
|
||||
"}\n" +
|
||||
@ -17818,7 +17814,7 @@
|
||||
"#thread-watcher a {\n" +
|
||||
" text-decoration: none;\n" +
|
||||
"}\n" +
|
||||
":root:not(.fixed-watcher) #thread-watcher .move > .close {\n" +
|
||||
":root:not(.toggleable-watcher) #thread-watcher .move > .close {\n" +
|
||||
" display: none;\n" +
|
||||
"}\n" +
|
||||
"#thread-watcher .move > .close {\n" +
|
||||
|
||||
Binary file not shown.
@ -1,7 +1,7 @@
|
||||
// Generated by CoffeeScript
|
||||
// ==UserScript==
|
||||
// @name 4chan X
|
||||
// @version 1.10.8.3
|
||||
// @version 1.10.8.4
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
@ -214,7 +214,8 @@
|
||||
'Page Count in Stats': [true, 'Display the page count in the thread stats.', 1],
|
||||
'Updater and Stats in Header': [true, 'Places the thread updater and thread stats in the header instead of floating them.'],
|
||||
'Thread Watcher': [true, 'Bookmark threads.'],
|
||||
'Toggleable Thread Watcher': [true, 'Adds a shortcut for the thread watcher, hides the watcher by default, and makes it scroll with the page.', 1],
|
||||
'Fixed Thread Watcher': [null, 'Makes the thread watcher scroll with the page.', 1],
|
||||
'Toggleable Thread Watcher': [true, 'Adds a shortcut for the thread watcher and hides the watcher by default.', 1],
|
||||
'Mark New IPs': [false, 'Label each post from a new IP with the thread\'s current IP count.']
|
||||
},
|
||||
'Posting': {
|
||||
@ -277,7 +278,6 @@
|
||||
'Auto Prune': [false, 'Automatically remove dead threads.'],
|
||||
'Show Unread Count': [true, 'Show number of unread posts in watched threads.']
|
||||
},
|
||||
'Thread Watcher Hidden': true,
|
||||
filter: {
|
||||
name: "# Filter any namefags:\n#/^(?!Anonymous$)/",
|
||||
uniqueID: "# Filter a specific ID:\n#/Txhvk1Tl/",
|
||||
@ -395,7 +395,7 @@
|
||||
doc = d.documentElement;
|
||||
|
||||
g = {
|
||||
VERSION: '1.10.8.3',
|
||||
VERSION: '1.10.8.4',
|
||||
NAMESPACE: '4chan X.',
|
||||
boards: {}
|
||||
};
|
||||
@ -12413,14 +12413,10 @@
|
||||
this.refreshButton = $('.refresh', this.dialog);
|
||||
this.closeButton = $('.move > .close', this.dialog);
|
||||
this.unreaddb = Unread.db || new DataBoard('lastReadPosts');
|
||||
if (Conf['Toggleable Thread Watcher']) {
|
||||
this.setHidden(Conf['Thread Watcher Hidden']);
|
||||
$.sync('Thread Watcher Hidden', this.setHidden);
|
||||
}
|
||||
$.on(d, 'QRPostSuccessful', this.cb.post);
|
||||
$.on(sc, 'click', this.toggleHidden);
|
||||
$.on(sc, 'click', this.toggleWatcher);
|
||||
$.on(this.refreshButton, 'click', this.fetchAllStatus);
|
||||
$.on(this.closeButton, 'click', this.toggleHidden);
|
||||
$.on(this.closeButton, 'click', this.toggleWatcher);
|
||||
$.on(d, '4chanXInitFinished', this.ready);
|
||||
switch (g.VIEW) {
|
||||
case 'index':
|
||||
@ -12429,10 +12425,14 @@
|
||||
case 'thread':
|
||||
$.on(d, 'ThreadUpdate', this.cb.onThreadRefresh);
|
||||
}
|
||||
if (Conf['Toggleable Thread Watcher']) {
|
||||
Header.addShortcut(sc);
|
||||
if (Conf['Fixed Thread Watcher']) {
|
||||
$.addClass(doc, 'fixed-watcher');
|
||||
}
|
||||
if (Conf['Toggleable Thread Watcher']) {
|
||||
this.dialog.hidden = true;
|
||||
Header.addShortcut(sc);
|
||||
$.addClass(doc, 'toggleable-watcher');
|
||||
}
|
||||
ThreadWatcher.fetchAuto();
|
||||
if (g.VIEW === 'index' && Conf['JSON Navigation'] && Conf['Menu'] && g.BOARD.ID !== 'f') {
|
||||
Menu.menu.addEntry({
|
||||
@ -12525,16 +12525,9 @@
|
||||
return $["delete"]('AutoWatch');
|
||||
});
|
||||
},
|
||||
setHidden: function(hide) {
|
||||
ThreadWatcher.shortcut.classList.toggle('disabled', hide);
|
||||
ThreadWatcher.dialog.hidden = hide;
|
||||
return Conf['Thread Watcher Hidden'] = hide;
|
||||
},
|
||||
toggleHidden: function() {
|
||||
var hide;
|
||||
hide = !ThreadWatcher.dialog.hidden;
|
||||
ThreadWatcher.setHidden(hide);
|
||||
return $.set('Thread Watcher Hidden', hide);
|
||||
toggleWatcher: function() {
|
||||
$.toggleClass(ThreadWatcher.shortcut, 'disabled');
|
||||
return ThreadWatcher.dialog.hidden = !ThreadWatcher.dialog.hidden;
|
||||
},
|
||||
cb: {
|
||||
openAll: function() {
|
||||
@ -16084,6 +16077,9 @@
|
||||
Conf['selectedArchives'] = {};
|
||||
$.get(Conf, function(items) {
|
||||
$.extend(Conf, items);
|
||||
if (Conf['Fixed Thread Watcher'] == null) {
|
||||
Conf['Fixed Thread Watcher'] = Conf['Toggleable Thread Watcher'];
|
||||
}
|
||||
return $.asap((function() {
|
||||
return doc = d.documentElement;
|
||||
}), Main.initFeatures);
|
||||
@ -17783,7 +17779,7 @@
|
||||
":root.fixed-watcher #thread-watcher {\n" +
|
||||
" position: fixed;\n" +
|
||||
"}\n" +
|
||||
":root:not(.fixed-watcher) #thread-watcher:not(:hover) {\n" +
|
||||
":root:not(.toggleable-watcher) #thread-watcher:not(:hover) {\n" +
|
||||
" max-height: 210px;\n" +
|
||||
" overflow-y: hidden;\n" +
|
||||
"}\n" +
|
||||
@ -17817,7 +17813,7 @@
|
||||
"#thread-watcher a {\n" +
|
||||
" text-decoration: none;\n" +
|
||||
"}\n" +
|
||||
":root:not(.fixed-watcher) #thread-watcher .move > .close {\n" +
|
||||
":root:not(.toggleable-watcher) #thread-watcher .move > .close {\n" +
|
||||
" display: none;\n" +
|
||||
"}\n" +
|
||||
"#thread-watcher .move > .close {\n" +
|
||||
|
||||
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
// ==UserScript==
|
||||
// @name 4chan X
|
||||
// @version 1.10.8.3
|
||||
// @version 1.10.8.4
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
// Generated by CoffeeScript
|
||||
// ==UserScript==
|
||||
// @name 4chan X
|
||||
// @version 1.10.8.3
|
||||
// @version 1.10.8.4
|
||||
// @minGMVer 1.14
|
||||
// @minFFVer 26
|
||||
// @namespace 4chan-X
|
||||
@ -215,7 +215,8 @@
|
||||
'Page Count in Stats': [true, 'Display the page count in the thread stats.', 1],
|
||||
'Updater and Stats in Header': [true, 'Places the thread updater and thread stats in the header instead of floating them.'],
|
||||
'Thread Watcher': [true, 'Bookmark threads.'],
|
||||
'Toggleable Thread Watcher': [true, 'Adds a shortcut for the thread watcher, hides the watcher by default, and makes it scroll with the page.', 1],
|
||||
'Fixed Thread Watcher': [null, 'Makes the thread watcher scroll with the page.', 1],
|
||||
'Toggleable Thread Watcher': [true, 'Adds a shortcut for the thread watcher and hides the watcher by default.', 1],
|
||||
'Mark New IPs': [false, 'Label each post from a new IP with the thread\'s current IP count.']
|
||||
},
|
||||
'Posting': {
|
||||
@ -278,7 +279,6 @@
|
||||
'Auto Prune': [false, 'Automatically remove dead threads.'],
|
||||
'Show Unread Count': [true, 'Show number of unread posts in watched threads.']
|
||||
},
|
||||
'Thread Watcher Hidden': true,
|
||||
filter: {
|
||||
name: "# Filter any namefags:\n#/^(?!Anonymous$)/",
|
||||
uniqueID: "# Filter a specific ID:\n#/Txhvk1Tl/",
|
||||
@ -396,7 +396,7 @@
|
||||
doc = d.documentElement;
|
||||
|
||||
g = {
|
||||
VERSION: '1.10.8.3',
|
||||
VERSION: '1.10.8.4',
|
||||
NAMESPACE: '4chan X.',
|
||||
boards: {}
|
||||
};
|
||||
@ -12414,14 +12414,10 @@
|
||||
this.refreshButton = $('.refresh', this.dialog);
|
||||
this.closeButton = $('.move > .close', this.dialog);
|
||||
this.unreaddb = Unread.db || new DataBoard('lastReadPosts');
|
||||
if (Conf['Toggleable Thread Watcher']) {
|
||||
this.setHidden(Conf['Thread Watcher Hidden']);
|
||||
$.sync('Thread Watcher Hidden', this.setHidden);
|
||||
}
|
||||
$.on(d, 'QRPostSuccessful', this.cb.post);
|
||||
$.on(sc, 'click', this.toggleHidden);
|
||||
$.on(sc, 'click', this.toggleWatcher);
|
||||
$.on(this.refreshButton, 'click', this.fetchAllStatus);
|
||||
$.on(this.closeButton, 'click', this.toggleHidden);
|
||||
$.on(this.closeButton, 'click', this.toggleWatcher);
|
||||
$.on(d, '4chanXInitFinished', this.ready);
|
||||
switch (g.VIEW) {
|
||||
case 'index':
|
||||
@ -12430,10 +12426,14 @@
|
||||
case 'thread':
|
||||
$.on(d, 'ThreadUpdate', this.cb.onThreadRefresh);
|
||||
}
|
||||
if (Conf['Toggleable Thread Watcher']) {
|
||||
Header.addShortcut(sc);
|
||||
if (Conf['Fixed Thread Watcher']) {
|
||||
$.addClass(doc, 'fixed-watcher');
|
||||
}
|
||||
if (Conf['Toggleable Thread Watcher']) {
|
||||
this.dialog.hidden = true;
|
||||
Header.addShortcut(sc);
|
||||
$.addClass(doc, 'toggleable-watcher');
|
||||
}
|
||||
ThreadWatcher.fetchAuto();
|
||||
if (g.VIEW === 'index' && Conf['JSON Navigation'] && Conf['Menu'] && g.BOARD.ID !== 'f') {
|
||||
Menu.menu.addEntry({
|
||||
@ -12526,16 +12526,9 @@
|
||||
return $["delete"]('AutoWatch');
|
||||
});
|
||||
},
|
||||
setHidden: function(hide) {
|
||||
ThreadWatcher.shortcut.classList.toggle('disabled', hide);
|
||||
ThreadWatcher.dialog.hidden = hide;
|
||||
return Conf['Thread Watcher Hidden'] = hide;
|
||||
},
|
||||
toggleHidden: function() {
|
||||
var hide;
|
||||
hide = !ThreadWatcher.dialog.hidden;
|
||||
ThreadWatcher.setHidden(hide);
|
||||
return $.set('Thread Watcher Hidden', hide);
|
||||
toggleWatcher: function() {
|
||||
$.toggleClass(ThreadWatcher.shortcut, 'disabled');
|
||||
return ThreadWatcher.dialog.hidden = !ThreadWatcher.dialog.hidden;
|
||||
},
|
||||
cb: {
|
||||
openAll: function() {
|
||||
@ -16085,6 +16078,9 @@
|
||||
Conf['selectedArchives'] = {};
|
||||
$.get(Conf, function(items) {
|
||||
$.extend(Conf, items);
|
||||
if (Conf['Fixed Thread Watcher'] == null) {
|
||||
Conf['Fixed Thread Watcher'] = Conf['Toggleable Thread Watcher'];
|
||||
}
|
||||
return $.asap((function() {
|
||||
return doc = d.documentElement;
|
||||
}), Main.initFeatures);
|
||||
@ -17784,7 +17780,7 @@
|
||||
":root.fixed-watcher #thread-watcher {\n" +
|
||||
" position: fixed;\n" +
|
||||
"}\n" +
|
||||
":root:not(.fixed-watcher) #thread-watcher:not(:hover) {\n" +
|
||||
":root:not(.toggleable-watcher) #thread-watcher:not(:hover) {\n" +
|
||||
" max-height: 210px;\n" +
|
||||
" overflow-y: hidden;\n" +
|
||||
"}\n" +
|
||||
@ -17818,7 +17814,7 @@
|
||||
"#thread-watcher a {\n" +
|
||||
" text-decoration: none;\n" +
|
||||
"}\n" +
|
||||
":root:not(.fixed-watcher) #thread-watcher .move > .close {\n" +
|
||||
":root:not(.toggleable-watcher) #thread-watcher .move > .close {\n" +
|
||||
" display: none;\n" +
|
||||
"}\n" +
|
||||
"#thread-watcher .move > .close {\n" +
|
||||
|
||||
Binary file not shown.
@ -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.10.8.3' />
|
||||
<updatecheck codebase='https://ccd0.github.io/4chan-x/builds/4chan-X-beta.crx' version='1.10.8.4' />
|
||||
</app>
|
||||
</gupdate>
|
||||
|
||||
|
||||
@ -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.10.8.3' />
|
||||
<updatecheck codebase='https://ccd0.github.io/4chan-x/builds/4chan-X.crx' version='1.10.8.4' />
|
||||
</app>
|
||||
</gupdate>
|
||||
|
||||
|
||||
@ -3,8 +3,8 @@
|
||||
"description": "Cross-browser userscript for maximum lurking on 4chan.",
|
||||
"meta": {
|
||||
"name": "4chan X",
|
||||
"version": "1.10.8.3",
|
||||
"date": "2015-04-07T03:32:40.973Z",
|
||||
"version": "1.10.8.4",
|
||||
"date": "2015-04-07T17:12:55.046Z",
|
||||
"repo": "https://github.com/ccd0/4chan-x/",
|
||||
"page": "https://github.com/ccd0/4chan-x",
|
||||
"downloads": "https://ccd0.github.io/4chan-x/builds/",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user