diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2c425b4b1..28cb46b14 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,10 @@ Sometimes the changelog has notes (not comprehensive) acknowledging people's wor
### v1.11.32
+**v1.11.32.2** *(2016-05-04)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.32.2/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.32.2/builds/4chan-X-noupdate.crx "Chromium version")]
+- Support /s4s/ fortune text and new /qst/ BBCode tags in posts fetched from archive.
+- Improve crash reports.
+
**v1.11.32.1** *(2016-05-01)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.32.1/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.32.1/builds/4chan-X-noupdate.crx "Chromium version")]
- Support embedding of .ogg files as either video or audio, as appropriate, and add embedding for .oga files.
diff --git a/builds/4chan-X-beta.crx b/builds/4chan-X-beta.crx
index a59d78d60..7be90b582 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 47e1e0a5c..d85a70745 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.11.32.1
+// @version 1.11.32.2
// @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 8472e7dd3..6ed0f7169 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.11.32.1
+// @version 1.11.32.2
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -134,7 +134,7 @@ docSet = function() {
};
g = {
- VERSION: '1.11.32.1',
+ VERSION: '1.11.32.2',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -4787,7 +4787,7 @@ Callbacks = (function() {
};
Callbacks.prototype.execute = function(node, keys) {
- var err, errors, i, len, name, ref;
+ var err, errors, i, len, name, ref, ref1, ref2;
if (keys == null) {
keys = this.keys;
}
@@ -4804,7 +4804,8 @@ Callbacks = (function() {
}
errors.push({
message: ['"', name, '" crashed on node ', this.type, ' No.', node.ID, ' (', node.board, ').'].join(''),
- error: err
+ error: err,
+ html: (ref1 = node.nodes) != null ? (ref2 = ref1.root) != null ? ref2.outerHTML : void 0 : void 0
});
}
}
@@ -5250,7 +5251,7 @@ Fetcher = (function() {
};
Fetcher.prototype.parseArchivedPost = function(data, url, archive) {
- var board, comment, greentext, i, j, key, o, post, ref, ref1, text, text2, thread, val;
+ var board, comment, greentext, i, j, key, o, post, ref, ref1, tag, text, text2, thread, val;
if (post = g.posts[this.boardID + "." + this.postID]) {
this.insert(post);
return;
@@ -5265,14 +5266,19 @@ Fetcher = (function() {
this.root.textContent = data.error;
return;
}
- comment = (data.comment || '').split(/(\n|\[\/?(?:b|spoiler|code|moot|banned)\])/);
+ comment = (data.comment || '').split(/(\n|\[\/?(?:b|spoiler|code|moot|banned|fortune(?: color="#\w+")?|i|red|green|blue)\])/);
comment = (function() {
var k, len, results;
results = [];
for (i = k = 0, len = comment.length; k < len; i = ++k) {
text = comment[i];
if (i % 2 === 1) {
- results.push(this.archiveTags[text]);
+ tag = this.archiveTags[text.replace(/\ .*\]/, ']')];
+ if (typeof tag === 'function') {
+ results.push(tag(text));
+ } else {
+ results.push(tag);
+ }
} else {
greentext = text[0] === '>';
text = text.replace(/(\[\/?[a-z]+):lit(\])/g, '$1$2');
@@ -5403,6 +5409,38 @@ Fetcher = (function() {
},
'[/banned]': {
innerHTML: ""
+ },
+ '[fortune]': function(text) {
+ return {
+ innerHTML: ""
+ };
+ },
+ '[/fortune]': {
+ innerHTML: ""
+ },
+ '[i]': {
+ innerHTML: ""
+ },
+ '[/i]': {
+ innerHTML: ""
+ },
+ '[red]': {
+ innerHTML: ""
+ },
+ '[/red]': {
+ innerHTML: ""
+ },
+ '[green]': {
+ innerHTML: ""
+ },
+ '[/green]': {
+ innerHTML: ""
+ },
+ '[blue]': {
+ innerHTML: ""
+ },
+ '[/blue]': {
+ innerHTML: ""
}
};
@@ -22657,8 +22695,13 @@ Main = (function() {
title += " (+" + (errors.length - 1) + " other errors)";
}
details = "[Please describe the steps needed to reproduce this error.]\n\nScript: 4chan X ccd0 v" + g.VERSION + " " + $.platform + "\nUser agent: " + navigator.userAgent + "\nURL: " + location.href + "\n\n" + data.error + "\n" + (((ref = data.error.stack) != null ? ref.replace(data.error.toString(), '').trim() : void 0) || '');
+ if (data.html) {
+ details += "\n\n" + data.html;
+ }
details = details.replace(/file:\/{3}.+\//g, '');
+ details = details.trim();
url = "https://gitreports.com/issue/ccd0/4chan-x?issue_title=" + (encodeURIComponent(title)) + "&details=" + (encodeURIComponent(details));
+ url = url.slice(0, 8200);
return {
innerHTML: " [report]"
};
diff --git a/builds/4chan-X-noupdate.crx b/builds/4chan-X-noupdate.crx
index 6f8268ea5..eee054f3e 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 3f510b426..43f8152fd 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.11.32.1
+// @version 1.11.32.2
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -134,7 +134,7 @@ docSet = function() {
};
g = {
- VERSION: '1.11.32.1',
+ VERSION: '1.11.32.2',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -4787,7 +4787,7 @@ Callbacks = (function() {
};
Callbacks.prototype.execute = function(node, keys) {
- var err, errors, i, len, name, ref;
+ var err, errors, i, len, name, ref, ref1, ref2;
if (keys == null) {
keys = this.keys;
}
@@ -4804,7 +4804,8 @@ Callbacks = (function() {
}
errors.push({
message: ['"', name, '" crashed on node ', this.type, ' No.', node.ID, ' (', node.board, ').'].join(''),
- error: err
+ error: err,
+ html: (ref1 = node.nodes) != null ? (ref2 = ref1.root) != null ? ref2.outerHTML : void 0 : void 0
});
}
}
@@ -5250,7 +5251,7 @@ Fetcher = (function() {
};
Fetcher.prototype.parseArchivedPost = function(data, url, archive) {
- var board, comment, greentext, i, j, key, o, post, ref, ref1, text, text2, thread, val;
+ var board, comment, greentext, i, j, key, o, post, ref, ref1, tag, text, text2, thread, val;
if (post = g.posts[this.boardID + "." + this.postID]) {
this.insert(post);
return;
@@ -5265,14 +5266,19 @@ Fetcher = (function() {
this.root.textContent = data.error;
return;
}
- comment = (data.comment || '').split(/(\n|\[\/?(?:b|spoiler|code|moot|banned)\])/);
+ comment = (data.comment || '').split(/(\n|\[\/?(?:b|spoiler|code|moot|banned|fortune(?: color="#\w+")?|i|red|green|blue)\])/);
comment = (function() {
var k, len, results;
results = [];
for (i = k = 0, len = comment.length; k < len; i = ++k) {
text = comment[i];
if (i % 2 === 1) {
- results.push(this.archiveTags[text]);
+ tag = this.archiveTags[text.replace(/\ .*\]/, ']')];
+ if (typeof tag === 'function') {
+ results.push(tag(text));
+ } else {
+ results.push(tag);
+ }
} else {
greentext = text[0] === '>';
text = text.replace(/(\[\/?[a-z]+):lit(\])/g, '$1$2');
@@ -5403,6 +5409,38 @@ Fetcher = (function() {
},
'[/banned]': {
innerHTML: ""
+ },
+ '[fortune]': function(text) {
+ return {
+ innerHTML: ""
+ };
+ },
+ '[/fortune]': {
+ innerHTML: ""
+ },
+ '[i]': {
+ innerHTML: ""
+ },
+ '[/i]': {
+ innerHTML: ""
+ },
+ '[red]': {
+ innerHTML: ""
+ },
+ '[/red]': {
+ innerHTML: ""
+ },
+ '[green]': {
+ innerHTML: ""
+ },
+ '[/green]': {
+ innerHTML: ""
+ },
+ '[blue]': {
+ innerHTML: ""
+ },
+ '[/blue]': {
+ innerHTML: ""
}
};
@@ -22657,8 +22695,13 @@ Main = (function() {
title += " (+" + (errors.length - 1) + " other errors)";
}
details = "[Please describe the steps needed to reproduce this error.]\n\nScript: 4chan X ccd0 v" + g.VERSION + " " + $.platform + "\nUser agent: " + navigator.userAgent + "\nURL: " + location.href + "\n\n" + data.error + "\n" + (((ref = data.error.stack) != null ? ref.replace(data.error.toString(), '').trim() : void 0) || '');
+ if (data.html) {
+ details += "\n\n" + data.html;
+ }
details = details.replace(/file:\/{3}.+\//g, '');
+ details = details.trim();
url = "https://gitreports.com/issue/ccd0/4chan-x?issue_title=" + (encodeURIComponent(title)) + "&details=" + (encodeURIComponent(details));
+ url = url.slice(0, 8200);
return {
innerHTML: " [report]"
};
diff --git a/builds/4chan-X.crx b/builds/4chan-X.crx
index 7ab2cdf2f..89548cedc 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 b05bfc69d..aba8b2999 100644
--- a/builds/4chan-X.meta.js
+++ b/builds/4chan-X.meta.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
-// @version 1.11.32.1
+// @version 1.11.32.2
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js
index 541c1c090..76a1d3d45 100644
--- a/builds/4chan-X.user.js
+++ b/builds/4chan-X.user.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name 4chan X
-// @version 1.11.32.1
+// @version 1.11.32.2
// @minGMVer 1.14
// @minFFVer 26
// @namespace 4chan-X
@@ -134,7 +134,7 @@ docSet = function() {
};
g = {
- VERSION: '1.11.32.1',
+ VERSION: '1.11.32.2',
NAMESPACE: '4chan X.',
boards: {}
};
@@ -4787,7 +4787,7 @@ Callbacks = (function() {
};
Callbacks.prototype.execute = function(node, keys) {
- var err, errors, i, len, name, ref;
+ var err, errors, i, len, name, ref, ref1, ref2;
if (keys == null) {
keys = this.keys;
}
@@ -4804,7 +4804,8 @@ Callbacks = (function() {
}
errors.push({
message: ['"', name, '" crashed on node ', this.type, ' No.', node.ID, ' (', node.board, ').'].join(''),
- error: err
+ error: err,
+ html: (ref1 = node.nodes) != null ? (ref2 = ref1.root) != null ? ref2.outerHTML : void 0 : void 0
});
}
}
@@ -5250,7 +5251,7 @@ Fetcher = (function() {
};
Fetcher.prototype.parseArchivedPost = function(data, url, archive) {
- var board, comment, greentext, i, j, key, o, post, ref, ref1, text, text2, thread, val;
+ var board, comment, greentext, i, j, key, o, post, ref, ref1, tag, text, text2, thread, val;
if (post = g.posts[this.boardID + "." + this.postID]) {
this.insert(post);
return;
@@ -5265,14 +5266,19 @@ Fetcher = (function() {
this.root.textContent = data.error;
return;
}
- comment = (data.comment || '').split(/(\n|\[\/?(?:b|spoiler|code|moot|banned)\])/);
+ comment = (data.comment || '').split(/(\n|\[\/?(?:b|spoiler|code|moot|banned|fortune(?: color="#\w+")?|i|red|green|blue)\])/);
comment = (function() {
var k, len, results;
results = [];
for (i = k = 0, len = comment.length; k < len; i = ++k) {
text = comment[i];
if (i % 2 === 1) {
- results.push(this.archiveTags[text]);
+ tag = this.archiveTags[text.replace(/\ .*\]/, ']')];
+ if (typeof tag === 'function') {
+ results.push(tag(text));
+ } else {
+ results.push(tag);
+ }
} else {
greentext = text[0] === '>';
text = text.replace(/(\[\/?[a-z]+):lit(\])/g, '$1$2');
@@ -5403,6 +5409,38 @@ Fetcher = (function() {
},
'[/banned]': {
innerHTML: ""
+ },
+ '[fortune]': function(text) {
+ return {
+ innerHTML: ""
+ };
+ },
+ '[/fortune]': {
+ innerHTML: ""
+ },
+ '[i]': {
+ innerHTML: ""
+ },
+ '[/i]': {
+ innerHTML: ""
+ },
+ '[red]': {
+ innerHTML: ""
+ },
+ '[/red]': {
+ innerHTML: ""
+ },
+ '[green]': {
+ innerHTML: ""
+ },
+ '[/green]': {
+ innerHTML: ""
+ },
+ '[blue]': {
+ innerHTML: ""
+ },
+ '[/blue]': {
+ innerHTML: ""
}
};
@@ -22657,8 +22695,13 @@ Main = (function() {
title += " (+" + (errors.length - 1) + " other errors)";
}
details = "[Please describe the steps needed to reproduce this error.]\n\nScript: 4chan X ccd0 v" + g.VERSION + " " + $.platform + "\nUser agent: " + navigator.userAgent + "\nURL: " + location.href + "\n\n" + data.error + "\n" + (((ref = data.error.stack) != null ? ref.replace(data.error.toString(), '').trim() : void 0) || '');
+ if (data.html) {
+ details += "\n\n" + data.html;
+ }
details = details.replace(/file:\/{3}.+\//g, '');
+ details = details.trim();
url = "https://gitreports.com/issue/ccd0/4chan-x?issue_title=" + (encodeURIComponent(title)) + "&details=" + (encodeURIComponent(details));
+ url = url.slice(0, 8200);
return {
innerHTML: " [report]"
};
diff --git a/builds/4chan-X.zip b/builds/4chan-X.zip
index 599277bc8..7ea3eb960 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 639eb746a..a3d198808 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 c078ef9e1..064de4897 100644
--- a/builds/updates.xml
+++ b/builds/updates.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/version.json b/version.json
index 6d2efc744..8d93b2659 100644
--- a/version.json
+++ b/version.json
@@ -1,4 +1,4 @@
{
- "version": "1.11.32.1",
- "date": "2016-05-01T00:18:29.034Z"
+ "version": "1.11.32.2",
+ "date": "2016-05-04T21:26:47.510Z"
}
\ No newline at end of file