diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7aaa4b76f..6475af53d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,11 @@
### v1.14.12
+**v1.14.12.1** *(2019-08-07)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.12.1/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.12.1/builds/4chan-X-noupdate.crx)]
+- Merge v1.14.11.2: - Fix error from Catalog Links feature in native catalog when /f/ is in the custom board list. #2390
+- Fix custom board links for boards without native catalog/archive being changed to nonexistent native catalog/archive links on catalog/archive pages. #2390
+- Fix spacing in /qa/ board title. #2369
+
**v1.14.12.0** *(2019-08-05)* - [[Userscript](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.12.0/builds/4chan-X-noupdate.user.js)] [[Chrome extension](https://raw.githubusercontent.com/ccd0/4chan-x/1.14.12.0/builds/4chan-X-noupdate.crx)]
- Based on v1.14.11.1.
- Shift+click on the Quick Reply submit button will now attempt to post regardless of cooldowns or other errors.
diff --git a/builds/4chan-X-beta.crx b/builds/4chan-X-beta.crx
index c68e0e50d..44beb430c 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 fe49197ab..89041f13b 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.14.12.0
+// @version 1.14.12.1
// @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 afda39109..71c5f05bc 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.14.12.0
+// @version 1.14.12.1
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -199,7 +199,7 @@ docSet = function() {
};
g = {
- VERSION: '1.14.12.0',
+ VERSION: '1.14.12.1',
NAMESPACE: '4chan X.',
sites: Object.create(null),
boards: Object.create(null)
@@ -7968,6 +7968,15 @@ SW = {};
return location.protocol + "//" + (BoardConfig.domain(boardID)) + "/" + boardID + "/catalog";
}
},
+ archive: function(arg) {
+ var boardID;
+ boardID = arg.boardID;
+ if (BoardConfig.isArchived(boardID)) {
+ return location.protocol + "//" + (BoardConfig.domain(boardID)) + "/" + boardID + "/archive";
+ } else {
+ return void 0;
+ }
+ },
threadJSON: function(arg) {
var boardID, threadID;
boardID = arg.boardID, threadID = arg.threadID;
@@ -10371,9 +10380,13 @@ Get = (function() {
Get = {
url: function() {
- var IDs, args, ref, ref1, type;
+ var IDs, args, f, site, type;
type = arguments[0], IDs = arguments[1], args = 3 <= arguments.length ? slice.call(arguments, 2) : [];
- return (ref = g.sites[IDs.siteID]) != null ? (ref1 = ref.urls)[type].apply(ref1, [IDs].concat(slice.call(args))) : void 0;
+ if ((site = g.sites[IDs.siteID]) && (f = $.getOwn(site.urls, type))) {
+ return f.apply(null, [IDs].concat(slice.call(args)));
+ } else {
+ return void 0;
+ }
},
threadExcerpt: function(thread) {
var OP, excerpt, ref, ref1;
@@ -10759,7 +10772,7 @@ Header = (function() {
}
}
a = (function() {
- var ref1;
+ var ref1, urlV;
if (boardID === '@') {
return $.el('a', {
href: 'https://twitter.com/4chan',
@@ -10772,8 +10785,11 @@ Header = (function() {
textContent: boardID,
title: BoardConfig.title(boardID)
});
- if ((ref1 = g.VIEW) === 'catalog' || ref1 === 'archive') {
- a.href += g.VIEW;
+ if (((ref1 = g.VIEW) === 'catalog' || ref1 === 'archive') && (urlV = Get.url(g.VIEW, {
+ siteID: '4chan.org',
+ boardID: boardID
+ }))) {
+ a.href = urlV;
}
if (a.hostname === location.hostname && boardID === g.BOARD.ID) {
a.className = 'current';
@@ -18067,10 +18083,10 @@ CatalogLinks = (function() {
ref2 = a.dataset, siteID = ref2.siteID, boardID = ref2.boardID;
if (!(siteID && boardID)) {
ref3 = Site.parseURL(a), siteID = ref3.siteID, boardID = ref3.boardID, VIEW = ref3.VIEW;
- if (!(siteID && boardID && (VIEW === 'index' || VIEW === 'catalog') && (a.dataset.indexOptions || a.href.replace(tail, '') === Get.url(VIEW, {
+ if (!(siteID && boardID && (VIEW === 'index' || VIEW === 'catalog') && (a.dataset.indexOptions || a.href.replace(tail, '') === (Get.url(VIEW, {
siteID: siteID,
boardID: boardID
- }).replace(tail, '')))) {
+ }) || '').replace(tail, '')))) {
continue;
}
$.extend(a.dataset, {
@@ -27146,7 +27162,7 @@ Main = (function() {
'qa': {
'boardTitle': {
orig: '/qa/ - Question & Answer',
- title: '/qa/ - 2D / Random'
+ title: '/qa/ - 2D/Random'
}
}
}
diff --git a/builds/4chan-X-noupdate.crx b/builds/4chan-X-noupdate.crx
index 23cbcfaf6..ac9c776ee 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 b3accbeb0..4b75015ba 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.14.12.0
+// @version 1.14.12.1
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -199,7 +199,7 @@ docSet = function() {
};
g = {
- VERSION: '1.14.12.0',
+ VERSION: '1.14.12.1',
NAMESPACE: '4chan X.',
sites: Object.create(null),
boards: Object.create(null)
@@ -7968,6 +7968,15 @@ SW = {};
return location.protocol + "//" + (BoardConfig.domain(boardID)) + "/" + boardID + "/catalog";
}
},
+ archive: function(arg) {
+ var boardID;
+ boardID = arg.boardID;
+ if (BoardConfig.isArchived(boardID)) {
+ return location.protocol + "//" + (BoardConfig.domain(boardID)) + "/" + boardID + "/archive";
+ } else {
+ return void 0;
+ }
+ },
threadJSON: function(arg) {
var boardID, threadID;
boardID = arg.boardID, threadID = arg.threadID;
@@ -10371,9 +10380,13 @@ Get = (function() {
Get = {
url: function() {
- var IDs, args, ref, ref1, type;
+ var IDs, args, f, site, type;
type = arguments[0], IDs = arguments[1], args = 3 <= arguments.length ? slice.call(arguments, 2) : [];
- return (ref = g.sites[IDs.siteID]) != null ? (ref1 = ref.urls)[type].apply(ref1, [IDs].concat(slice.call(args))) : void 0;
+ if ((site = g.sites[IDs.siteID]) && (f = $.getOwn(site.urls, type))) {
+ return f.apply(null, [IDs].concat(slice.call(args)));
+ } else {
+ return void 0;
+ }
},
threadExcerpt: function(thread) {
var OP, excerpt, ref, ref1;
@@ -10759,7 +10772,7 @@ Header = (function() {
}
}
a = (function() {
- var ref1;
+ var ref1, urlV;
if (boardID === '@') {
return $.el('a', {
href: 'https://twitter.com/4chan',
@@ -10772,8 +10785,11 @@ Header = (function() {
textContent: boardID,
title: BoardConfig.title(boardID)
});
- if ((ref1 = g.VIEW) === 'catalog' || ref1 === 'archive') {
- a.href += g.VIEW;
+ if (((ref1 = g.VIEW) === 'catalog' || ref1 === 'archive') && (urlV = Get.url(g.VIEW, {
+ siteID: '4chan.org',
+ boardID: boardID
+ }))) {
+ a.href = urlV;
}
if (a.hostname === location.hostname && boardID === g.BOARD.ID) {
a.className = 'current';
@@ -18067,10 +18083,10 @@ CatalogLinks = (function() {
ref2 = a.dataset, siteID = ref2.siteID, boardID = ref2.boardID;
if (!(siteID && boardID)) {
ref3 = Site.parseURL(a), siteID = ref3.siteID, boardID = ref3.boardID, VIEW = ref3.VIEW;
- if (!(siteID && boardID && (VIEW === 'index' || VIEW === 'catalog') && (a.dataset.indexOptions || a.href.replace(tail, '') === Get.url(VIEW, {
+ if (!(siteID && boardID && (VIEW === 'index' || VIEW === 'catalog') && (a.dataset.indexOptions || a.href.replace(tail, '') === (Get.url(VIEW, {
siteID: siteID,
boardID: boardID
- }).replace(tail, '')))) {
+ }) || '').replace(tail, '')))) {
continue;
}
$.extend(a.dataset, {
@@ -27146,7 +27162,7 @@ Main = (function() {
'qa': {
'boardTitle': {
orig: '/qa/ - Question & Answer',
- title: '/qa/ - 2D / Random'
+ title: '/qa/ - 2D/Random'
}
}
}
diff --git a/builds/4chan-X.crx b/builds/4chan-X.crx
index 0bb29dedd..3d4b0eadd 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 5f76c94b5..adaf46dcf 100644
--- a/builds/4chan-X.meta.js
+++ b/builds/4chan-X.meta.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
-// @version 1.14.12.0
+// @version 1.14.12.1
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js
index 84faca6aa..8bdc91303 100644
--- a/builds/4chan-X.user.js
+++ b/builds/4chan-X.user.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
-// @version 1.14.12.0
+// @version 1.14.12.1
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -199,7 +199,7 @@ docSet = function() {
};
g = {
- VERSION: '1.14.12.0',
+ VERSION: '1.14.12.1',
NAMESPACE: '4chan X.',
sites: Object.create(null),
boards: Object.create(null)
@@ -7968,6 +7968,15 @@ SW = {};
return location.protocol + "//" + (BoardConfig.domain(boardID)) + "/" + boardID + "/catalog";
}
},
+ archive: function(arg) {
+ var boardID;
+ boardID = arg.boardID;
+ if (BoardConfig.isArchived(boardID)) {
+ return location.protocol + "//" + (BoardConfig.domain(boardID)) + "/" + boardID + "/archive";
+ } else {
+ return void 0;
+ }
+ },
threadJSON: function(arg) {
var boardID, threadID;
boardID = arg.boardID, threadID = arg.threadID;
@@ -10371,9 +10380,13 @@ Get = (function() {
Get = {
url: function() {
- var IDs, args, ref, ref1, type;
+ var IDs, args, f, site, type;
type = arguments[0], IDs = arguments[1], args = 3 <= arguments.length ? slice.call(arguments, 2) : [];
- return (ref = g.sites[IDs.siteID]) != null ? (ref1 = ref.urls)[type].apply(ref1, [IDs].concat(slice.call(args))) : void 0;
+ if ((site = g.sites[IDs.siteID]) && (f = $.getOwn(site.urls, type))) {
+ return f.apply(null, [IDs].concat(slice.call(args)));
+ } else {
+ return void 0;
+ }
},
threadExcerpt: function(thread) {
var OP, excerpt, ref, ref1;
@@ -10759,7 +10772,7 @@ Header = (function() {
}
}
a = (function() {
- var ref1;
+ var ref1, urlV;
if (boardID === '@') {
return $.el('a', {
href: 'https://twitter.com/4chan',
@@ -10772,8 +10785,11 @@ Header = (function() {
textContent: boardID,
title: BoardConfig.title(boardID)
});
- if ((ref1 = g.VIEW) === 'catalog' || ref1 === 'archive') {
- a.href += g.VIEW;
+ if (((ref1 = g.VIEW) === 'catalog' || ref1 === 'archive') && (urlV = Get.url(g.VIEW, {
+ siteID: '4chan.org',
+ boardID: boardID
+ }))) {
+ a.href = urlV;
}
if (a.hostname === location.hostname && boardID === g.BOARD.ID) {
a.className = 'current';
@@ -18067,10 +18083,10 @@ CatalogLinks = (function() {
ref2 = a.dataset, siteID = ref2.siteID, boardID = ref2.boardID;
if (!(siteID && boardID)) {
ref3 = Site.parseURL(a), siteID = ref3.siteID, boardID = ref3.boardID, VIEW = ref3.VIEW;
- if (!(siteID && boardID && (VIEW === 'index' || VIEW === 'catalog') && (a.dataset.indexOptions || a.href.replace(tail, '') === Get.url(VIEW, {
+ if (!(siteID && boardID && (VIEW === 'index' || VIEW === 'catalog') && (a.dataset.indexOptions || a.href.replace(tail, '') === (Get.url(VIEW, {
siteID: siteID,
boardID: boardID
- }).replace(tail, '')))) {
+ }) || '').replace(tail, '')))) {
continue;
}
$.extend(a.dataset, {
@@ -27146,7 +27162,7 @@ Main = (function() {
'qa': {
'boardTitle': {
orig: '/qa/ - Question & Answer',
- title: '/qa/ - 2D / Random'
+ title: '/qa/ - 2D/Random'
}
}
}
diff --git a/builds/4chan-X.zip b/builds/4chan-X.zip
index 5a4a0b6ea..65e611b0e 100644
Binary files a/builds/4chan-X.zip and b/builds/4chan-X.zip differ
diff --git a/builds/updates-beta.json b/builds/updates-beta.json
index 7987f4264..08a693586 100644
--- a/builds/updates-beta.json
+++ b/builds/updates-beta.json
@@ -3,7 +3,7 @@
"4chan-x@4chan-x.net": {
"updates": [
{
- "version": "1.14.12.0",
+ "version": "1.14.12.1",
"update_link": "https://www.4chan-x.net/builds/4chan-X-beta.crx"
}
]
diff --git a/builds/updates-beta.xml b/builds/updates-beta.xml
index 1c2d10b63..7c013771f 100644
--- a/builds/updates-beta.xml
+++ b/builds/updates-beta.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/builds/updates.json b/builds/updates.json
index e0b313ec6..d60ff7df7 100644
--- a/builds/updates.json
+++ b/builds/updates.json
@@ -3,7 +3,7 @@
"4chan-x@4chan-x.net": {
"updates": [
{
- "version": "1.14.12.0",
+ "version": "1.14.12.1",
"update_link": "https://www.4chan-x.net/builds/4chan-X.crx"
}
]
diff --git a/builds/updates.xml b/builds/updates.xml
index 2210c2c98..5c1757df7 100644
--- a/builds/updates.xml
+++ b/builds/updates.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/version.json b/version.json
index be0d9ccaf..cbc590f12 100644
--- a/version.json
+++ b/version.json
@@ -1,4 +1,4 @@
{
- "version": "1.14.12.0",
- "date": "2019-08-05T05:48:40.635Z"
+ "version": "1.14.12.1",
+ "date": "2019-08-07T06:42:33.803Z"
}
\ No newline at end of file