diff --git a/CHANGELOG.md b/CHANGELOG.md
index c63ac4f60..98b303393 100755
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -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.19.10
+*2015-01-11* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.19.10/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.19.10/builds/4chan-X-noupdate.crx "Chromium version")]
+
+**ccd0**
+- Fix bottom board list after 4chan change.
+
### v1.9.19.9
*2015-01-10* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.19.9/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.9.19.9/builds/4chan-X-noupdate.crx "Chromium version")]
diff --git a/LICENSE b/LICENSE
index a20764942..49ab7415e 100755
--- a/LICENSE
+++ b/LICENSE
@@ -1,5 +1,5 @@
/*
-* 4chan X - Version 1.9.19.9
+* 4chan X - Version 1.9.19.10
*
* Licensed under the MIT license.
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
diff --git a/builds/4chan-X-beta.crx b/builds/4chan-X-beta.crx
index 42b37538c..5dc956e3f 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 87f5f00c5..5679047aa 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.9.19.9
+// @version 1.9.19.10
// @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 aeb78faa6..417284e32 100644
--- a/builds/4chan-X-beta.user.js
+++ b/builds/4chan-X-beta.user.js
@@ -1,7 +1,7 @@
// Generated by CoffeeScript
// ==UserScript==
// @name 4chan X beta
-// @version 1.9.19.9
+// @version 1.9.19.10
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -25,7 +25,7 @@
// ==/UserScript==
/*
-* 4chan X - Version 1.9.19.9
+* 4chan X - Version 1.9.19.10
*
* Licensed under the MIT license.
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
@@ -395,7 +395,7 @@
doc = d.documentElement;
g = {
- VERSION: '1.9.19.9',
+ VERSION: '1.9.19.10',
NAMESPACE: '4chan X.',
NAME: '4chan X',
FAQ: 'https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions',
@@ -2129,7 +2129,26 @@
}
$.asap((function() {
return $.id('boardNavMobile') || d.readyState !== 'loading';
- }), Header.setBoardList);
+ }), function() {
+ var a, footer;
+ Header.footer = footer = $.id('boardNavDesktop').cloneNode(true);
+ footer.id = 'boardNavDesktopFoot';
+ $.rm($('#navtopright', footer));
+ if (a = $("a[href*='/" + g.BOARD + "/']", footer)) {
+ a.className = 'current';
+ }
+ Header.setFooterVisibility(Conf['Bottom Board List']);
+ $.sync('Bottom Board List', Header.setFooterVisibility);
+ Main.ready(function() {
+ var oldFooter;
+ if (oldFooter = $.id('boardNavDesktopFoot')) {
+ $.rm(oldFooter);
+ }
+ $.globalEval('window.cloneTopNav = function() {};');
+ return $.before($.id('absbot'), footer);
+ });
+ return Header.setBoardList();
+ });
$.prepend(d.body, _this.bar);
$.add(d.body, Header.hover);
_this.setBarPosition(Conf['Bottom Header']);
@@ -2138,11 +2157,7 @@
})(this));
Main.ready((function(_this) {
return function() {
- var a, cs, footer;
- _this.footer = footer = $.id('boardNavDesktopFoot');
- if (a = $("a[href*='/" + g.BOARD + "/']", footer)) {
- a.className = 'current';
- }
+ var cs;
if (g.VIEW === 'catalog' || !Conf['Disable Native Extension']) {
cs = $.el('a', {
href: 'javascript:;'
@@ -2157,10 +2172,8 @@
$.on(cs, 'click', function() {
return $.id('settingsWindowLink').click();
});
- _this.addShortcut(cs);
+ return _this.addShortcut(cs);
}
- Header.setFooterVisibility(Conf['Bottom Board List']);
- return $.sync('Bottom Board List', Header.setFooterVisibility);
};
})(this));
return this.enableDesktopNotifications();
@@ -13402,7 +13415,7 @@
},
set: function(useCatalog) {
var a, board, _i, _len, _ref, _ref1;
- _ref = $$("#board-list a:not([data-only]), #boardNavDesktopFoot a");
+ _ref = $$('a:not([data-only])', Header.boardList).concat($$('a', Header.footer));
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
a = _ref[_i];
if (((_ref1 = a.hostname) !== 'boards.4chan.org' && _ref1 !== 'catalog.neet.tv' && _ref1 !== '4index.gropes.us') || !(board = a.pathname.split('/')[1]) || (board === 'f' || board === 'status' || board === '4chan') || a.pathname.split('/')[2] === 'archive' || $.hasClass(a, 'external')) {
diff --git a/builds/4chan-X-noupdate.crx b/builds/4chan-X-noupdate.crx
index 0429daeab..9ad831196 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 219cf501f..88c33d8fc 100644
--- a/builds/4chan-X-noupdate.user.js
+++ b/builds/4chan-X-noupdate.user.js
@@ -1,7 +1,7 @@
// Generated by CoffeeScript
// ==UserScript==
// @name 4chan X
-// @version 1.9.19.9
+// @version 1.9.19.10
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -24,7 +24,7 @@
// ==/UserScript==
/*
-* 4chan X - Version 1.9.19.9
+* 4chan X - Version 1.9.19.10
*
* Licensed under the MIT license.
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
@@ -394,7 +394,7 @@
doc = d.documentElement;
g = {
- VERSION: '1.9.19.9',
+ VERSION: '1.9.19.10',
NAMESPACE: '4chan X.',
NAME: '4chan X',
FAQ: 'https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions',
@@ -2128,7 +2128,26 @@
}
$.asap((function() {
return $.id('boardNavMobile') || d.readyState !== 'loading';
- }), Header.setBoardList);
+ }), function() {
+ var a, footer;
+ Header.footer = footer = $.id('boardNavDesktop').cloneNode(true);
+ footer.id = 'boardNavDesktopFoot';
+ $.rm($('#navtopright', footer));
+ if (a = $("a[href*='/" + g.BOARD + "/']", footer)) {
+ a.className = 'current';
+ }
+ Header.setFooterVisibility(Conf['Bottom Board List']);
+ $.sync('Bottom Board List', Header.setFooterVisibility);
+ Main.ready(function() {
+ var oldFooter;
+ if (oldFooter = $.id('boardNavDesktopFoot')) {
+ $.rm(oldFooter);
+ }
+ $.globalEval('window.cloneTopNav = function() {};');
+ return $.before($.id('absbot'), footer);
+ });
+ return Header.setBoardList();
+ });
$.prepend(d.body, _this.bar);
$.add(d.body, Header.hover);
_this.setBarPosition(Conf['Bottom Header']);
@@ -2137,11 +2156,7 @@
})(this));
Main.ready((function(_this) {
return function() {
- var a, cs, footer;
- _this.footer = footer = $.id('boardNavDesktopFoot');
- if (a = $("a[href*='/" + g.BOARD + "/']", footer)) {
- a.className = 'current';
- }
+ var cs;
if (g.VIEW === 'catalog' || !Conf['Disable Native Extension']) {
cs = $.el('a', {
href: 'javascript:;'
@@ -2156,10 +2171,8 @@
$.on(cs, 'click', function() {
return $.id('settingsWindowLink').click();
});
- _this.addShortcut(cs);
+ return _this.addShortcut(cs);
}
- Header.setFooterVisibility(Conf['Bottom Board List']);
- return $.sync('Bottom Board List', Header.setFooterVisibility);
};
})(this));
return this.enableDesktopNotifications();
@@ -13401,7 +13414,7 @@
},
set: function(useCatalog) {
var a, board, _i, _len, _ref, _ref1;
- _ref = $$("#board-list a:not([data-only]), #boardNavDesktopFoot a");
+ _ref = $$('a:not([data-only])', Header.boardList).concat($$('a', Header.footer));
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
a = _ref[_i];
if (((_ref1 = a.hostname) !== 'boards.4chan.org' && _ref1 !== 'catalog.neet.tv' && _ref1 !== '4index.gropes.us') || !(board = a.pathname.split('/')[1]) || (board === 'f' || board === 'status' || board === '4chan') || a.pathname.split('/')[2] === 'archive' || $.hasClass(a, 'external')) {
diff --git a/builds/4chan-X.crx b/builds/4chan-X.crx
index 942220dc2..100af30c8 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 ae45aa377..8a6bd1ad4 100644
--- a/builds/4chan-X.meta.js
+++ b/builds/4chan-X.meta.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
-// @version 1.9.19.9
+// @version 1.9.19.10
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js
index ff249e03b..b3aa10d61 100644
--- a/builds/4chan-X.user.js
+++ b/builds/4chan-X.user.js
@@ -1,7 +1,7 @@
// Generated by CoffeeScript
// ==UserScript==
// @name 4chan X
-// @version 1.9.19.9
+// @version 1.9.19.10
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -25,7 +25,7 @@
// ==/UserScript==
/*
-* 4chan X - Version 1.9.19.9
+* 4chan X - Version 1.9.19.10
*
* Licensed under the MIT license.
* https://github.com/ccd0/4chan-x/blob/master/LICENSE
@@ -395,7 +395,7 @@
doc = d.documentElement;
g = {
- VERSION: '1.9.19.9',
+ VERSION: '1.9.19.10',
NAMESPACE: '4chan X.',
NAME: '4chan X',
FAQ: 'https://github.com/ccd0/4chan-x/wiki/Frequently-Asked-Questions',
@@ -2129,7 +2129,26 @@
}
$.asap((function() {
return $.id('boardNavMobile') || d.readyState !== 'loading';
- }), Header.setBoardList);
+ }), function() {
+ var a, footer;
+ Header.footer = footer = $.id('boardNavDesktop').cloneNode(true);
+ footer.id = 'boardNavDesktopFoot';
+ $.rm($('#navtopright', footer));
+ if (a = $("a[href*='/" + g.BOARD + "/']", footer)) {
+ a.className = 'current';
+ }
+ Header.setFooterVisibility(Conf['Bottom Board List']);
+ $.sync('Bottom Board List', Header.setFooterVisibility);
+ Main.ready(function() {
+ var oldFooter;
+ if (oldFooter = $.id('boardNavDesktopFoot')) {
+ $.rm(oldFooter);
+ }
+ $.globalEval('window.cloneTopNav = function() {};');
+ return $.before($.id('absbot'), footer);
+ });
+ return Header.setBoardList();
+ });
$.prepend(d.body, _this.bar);
$.add(d.body, Header.hover);
_this.setBarPosition(Conf['Bottom Header']);
@@ -2138,11 +2157,7 @@
})(this));
Main.ready((function(_this) {
return function() {
- var a, cs, footer;
- _this.footer = footer = $.id('boardNavDesktopFoot');
- if (a = $("a[href*='/" + g.BOARD + "/']", footer)) {
- a.className = 'current';
- }
+ var cs;
if (g.VIEW === 'catalog' || !Conf['Disable Native Extension']) {
cs = $.el('a', {
href: 'javascript:;'
@@ -2157,10 +2172,8 @@
$.on(cs, 'click', function() {
return $.id('settingsWindowLink').click();
});
- _this.addShortcut(cs);
+ return _this.addShortcut(cs);
}
- Header.setFooterVisibility(Conf['Bottom Board List']);
- return $.sync('Bottom Board List', Header.setFooterVisibility);
};
})(this));
return this.enableDesktopNotifications();
@@ -13402,7 +13415,7 @@
},
set: function(useCatalog) {
var a, board, _i, _len, _ref, _ref1;
- _ref = $$("#board-list a:not([data-only]), #boardNavDesktopFoot a");
+ _ref = $$('a:not([data-only])', Header.boardList).concat($$('a', Header.footer));
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
a = _ref[_i];
if (((_ref1 = a.hostname) !== 'boards.4chan.org' && _ref1 !== 'catalog.neet.tv' && _ref1 !== '4index.gropes.us') || !(board = a.pathname.split('/')[1]) || (board === 'f' || board === 'status' || board === '4chan') || a.pathname.split('/')[2] === 'archive' || $.hasClass(a, 'external')) {
diff --git a/builds/4chan-X.zip b/builds/4chan-X.zip
index f4c9086d1..a907d094d 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 f09c19c0f..af4f6b37f 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 0581a39bb..f0f347521 100644
--- a/builds/updates.xml
+++ b/builds/updates.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/package.json b/package.json
index 4b0a72a82..2e65553c5 100755
--- a/package.json
+++ b/package.json
@@ -3,7 +3,7 @@
"description": "Cross-browser userscript for maximum lurking on 4chan.",
"meta": {
"name": "4chan X",
- "version": "1.9.19.9",
+ "version": "1.9.19.10",
"repo": "https://github.com/ccd0/4chan-x/",
"page": "https://github.com/ccd0/4chan-x",
"downloads": "https://ccd0.github.io/4chan-x/builds/",
@@ -70,4 +70,4 @@
"engines": {
"node": ">=0.10"
}
-}
+}
\ No newline at end of file
diff --git a/src/General/Header.coffee b/src/General/Header.coffee
index 1a7087b00..dbf179582 100755
--- a/src/General/Header.coffee
+++ b/src/General/Header.coffee
@@ -85,17 +85,25 @@ Header =
return unless Main.isThisPageLegit()
# Wait for #boardNavMobile instead of #boardNavDesktop,
# it might be incomplete otherwise.
- $.asap (-> $.id('boardNavMobile') or d.readyState isnt 'loading'), Header.setBoardList
+ $.asap (-> $.id('boardNavMobile') or d.readyState isnt 'loading'), ->
+ Header.footer = footer = $.id('boardNavDesktop').cloneNode true
+ footer.id = 'boardNavDesktopFoot'
+ $.rm $('#navtopright', footer)
+ if a = $ "a[href*='/#{g.BOARD}/']", footer
+ a.className = 'current'
+ Header.setFooterVisibility Conf['Bottom Board List']
+ $.sync 'Bottom Board List', Header.setFooterVisibility
+ Main.ready ->
+ $.rm oldFooter if oldFooter = $.id 'boardNavDesktopFoot'
+ $.globalEval 'window.cloneTopNav = function() {};'
+ $.before $.id('absbot'), footer
+ Header.setBoardList()
$.prepend d.body, @bar
$.add d.body, Header.hover
@setBarPosition Conf['Bottom Header']
@
Main.ready =>
- @footer = footer = $.id 'boardNavDesktopFoot'
- if a = $ "a[href*='/#{g.BOARD}/']", footer
- a.className = 'current'
-
if g.VIEW is 'catalog' or !Conf['Disable Native Extension']
cs = $.el 'a', href: 'javascript:;'
if g.VIEW is 'catalog'
@@ -108,9 +116,6 @@ Header =
$.id('settingsWindowLink').click()
@addShortcut cs
- Header.setFooterVisibility Conf['Bottom Board List']
- $.sync 'Bottom Board List', Header.setFooterVisibility
-
@enableDesktopNotifications()
bar: $.el 'div',
diff --git a/src/Miscellaneous/CatalogLinks.coffee b/src/Miscellaneous/CatalogLinks.coffee
index 6fcb53c4c..2f4294b27 100755
--- a/src/Miscellaneous/CatalogLinks.coffee
+++ b/src/Miscellaneous/CatalogLinks.coffee
@@ -53,7 +53,7 @@ CatalogLinks =
CatalogLinks.set @checked
set: (useCatalog) ->
- for a in $$ """#board-list a:not([data-only]), #boardNavDesktopFoot a"""
+ for a in $$('a:not([data-only])', Header.boardList).concat $$('a', Header.footer)
continue if a.hostname not in ['boards.4chan.org', 'catalog.neet.tv', '4index.gropes.us'] or
!(board = a.pathname.split('/')[1]) or
board in ['f', 'status', '4chan'] or