diff --git a/CHANGELOG.md b/CHANGELOG.md index b41acc890..f48e7a5dc 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ Sometimes the changelog has notes (not comprehensive) acknowledging people's wor ### v1.11.9 +**v1.11.9.3** *(2015-08-21)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.9.3/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.9.3/builds/4chan-X-noupdate.crx "Chromium version")] +- Try to support the new non-3x3 captchas. Note: not tested on non-3x3 captchas yet. +- Fix bug causing updateless versions of userscript to check for and install updates. + **v1.11.9.2** *(2015-08-16)* - [[Firefox](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.9.2/builds/4chan-X-noupdate.user.js "Firefox version")] [[Chromium](https://raw.githubusercontent.com/ccd0/4chan-x/1.11.9.2/builds/4chan-X-noupdate.crx "Chromium version")] - Merge v1.11.8.9: Fix regression from v1.11.8.0 that caused the cooldown to stop working in certain circumstances. diff --git a/builds/4chan-X-beta.crx b/builds/4chan-X-beta.crx index 447250849..6aaf6a73f 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 981fc5e6a..aaac0e12d 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.9.2 +// @version 1.11.9.3 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X @@ -32,7 +32,7 @@ // @grant GM_openInTab // @grant GM_xmlhttpRequest // @run-at document-start -// @updateURL https://www.4chan-x.net/builds/4chan-X-beta.meta.js +// @updateURL https://www.4chan-x.net/builds/4chan-X-beta.meta.js // @downloadURL https://www.4chan-x.net/builds/4chan-X-beta.user.js // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAACVBMVEUAAGcAAABmzDNZt9VtAAAAAXRSTlMAQObYZgAAAF5JREFUeNrtkTESABAQxPD/R6tsE2dUGYUtFJvLDKf93KevHJAjpBorAQWSBIKqFASC4G0pCAkm4GfaEvgYXl0T6HBaE97f0vmnfYHbZOMLZCx9ISdKWwjOWZSC8GYm4SUGwfYgqI4AAAAASUVORK5CYII= // ==/UserScript== diff --git a/builds/4chan-X-beta.user.js b/builds/4chan-X-beta.user.js index 257742e1f..445334ed5 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.11.9.2 +// @version 1.11.9.3 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X @@ -33,7 +33,7 @@ // @grant GM_openInTab // @grant GM_xmlhttpRequest // @run-at document-start -// @updateURL https://www.4chan-x.net/builds/4chan-X-beta.meta.js +// @updateURL https://www.4chan-x.net/builds/4chan-X-beta.meta.js // @downloadURL https://www.4chan-x.net/builds/4chan-X-beta.user.js // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAACVBMVEUAAGcAAABmzDNZt9VtAAAAAXRSTlMAQObYZgAAAF5JREFUeNrtkTESABAQxPD/R6tsE2dUGYUtFJvLDKf93KevHJAjpBorAQWSBIKqFASC4G0pCAkm4GfaEvgYXl0T6HBaE97f0vmnfYHbZOMLZCx9ISdKWwjOWZSC8GYm4SUGwfYgqI4AAAAASUVORK5CYII= // ==/UserScript== @@ -412,7 +412,7 @@ doc = d.documentElement; g = { - VERSION: '1.11.9.2', + VERSION: '1.11.9.3', NAMESPACE: '4chan X.', boards: {} }; @@ -7100,7 +7100,7 @@ return status.disabled = disabled || false; }, quote: function(e) { - var ancestor, caretPos, com, frag, index, insideCode, k, len1, len2, len3, len4, len5, len6, node, post, q, range, ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, sel, text, thread, u, v, w, y; + var ancestor, caretPos, com, frag, index, insideCode, k, len1, len2, len3, len4, len5, len6, node, post, q, range, ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, sel, text, thread, u, v, y, z; if (e != null) { e.preventDefault(); } @@ -7145,13 +7145,13 @@ $.replace(node, [$.tn('[code]')].concat(slice.call(node.childNodes), [$.tn('[/code]')])); } ref4 = $$('.linkify[data-original]', frag); - for (w = 0, len5 = ref4.length; w < len5; w++) { - node = ref4[w]; + for (y = 0, len5 = ref4.length; y < len5; y++) { + node = ref4[y]; $.replace(node, $.tn(node.dataset.original)); } ref5 = $$('.embedder', frag); - for (y = 0, len6 = ref5.length; y < len6; y++) { - node = ref5[y]; + for (z = 0, len6 = ref5.length; z < len6; z++) { + node = ref5[z]; if (((ref6 = node.previousSibling) != null ? ref6.nodeValue : void 0) === ' ') { $.rm(node.previousSibling); } @@ -7814,7 +7814,7 @@ initNoscript: function() { this.noscript = true; this.images = $$('.fbc-payload-imageselect > input'); - if (!this.images.length) { + if (this.images.length !== 9) { return; } $.addStyle(this.cssNoscript); @@ -7830,7 +7830,7 @@ img = ref[k]; img.tabIndex = 0; } - if (this.images.length) { + if (this.images.length === 9) { return this.addTooltips(this.images); } }, @@ -7878,36 +7878,36 @@ } }, keybinds: function(e) { - var dx, i, key, reload, verify, x; + var dx, i, key, last, n, reload, verify, w, x; if (!(this.images && doc.contains(this.images[0]))) { return; } + n = this.images.length; + w = Math.round(Math.sqrt(n)); + last = n + w - 1; reload = $('#recaptcha-reload-button, .fbc-button-reload'); verify = $('#recaptcha-verify-button, .fbc-button-verify > input'); x = this.images.indexOf(d.activeElement); if (x < 0) { - x = d.activeElement === verify ? 11 : 9; + x = d.activeElement === verify ? last : n; } key = Keybinds.keyCode(e); - if (!this.noscript && key === 'Space' && x < 9) { + if (!this.noscript && key === 'Space' && x < n) { this.images[x].click(); - } else if ((i = this.imageKeys.indexOf(key)) >= 0) { + } else if (n === 9 && (i = this.imageKeys.indexOf(key)) >= 0) { this.images[i % 9].click(); verify.focus(); } else if (dx = { - 'Up': 9, - 'Down': 3, - 'Left': 11, + 'Up': n, + 'Down': w, + 'Left': last, 'Right': 1 }[key]) { - x = (x + dx) % 12; - if (x === 10) { - x = dx === 11 ? 9 : 11; + x = (x + dx) % (n + w); + if ((n < x && x < last)) { + x = dx === last ? n : last; } - (this.images[x] || { - 9: reload, - 11: verify - }[x]).focus(); + (this.images[x] || (x === n ? reload : void 0) || (x === last ? verify : void 0)).focus(); } else { return; } @@ -16783,7 +16783,7 @@ return $.on(ta, 'change', $.cb.value); }, advanced: function(section) { - var applyCSS, archBoards, boardID, boardOptions, boardSelect, boards, customCSS, files, i, input, inputs, interval, item, items, k, len1, len2, len3, len4, len5, len6, len7, name, o, q, ref, ref1, ref2, ref3, ref4, ref5, ref6, row, rows, software, ta, table, u, v, w, warning, withCredentials, y, z; + var aa, applyCSS, archBoards, boardID, boardOptions, boardSelect, boards, customCSS, files, i, input, inputs, interval, item, items, k, len1, len2, len3, len4, len5, len6, len7, name, o, q, ref, ref1, ref2, ref3, ref4, ref5, ref6, row, rows, software, ta, table, u, v, warning, withCredentials, y, z; $.extend(section, { innerHTML: "
Archiver
404 Redirect is disabled.
Thread redirectionPost fetchingFile redirection
Captcha Language
Choose from list of language codes. Leave blank to autoselect.
Custom Board Navigation
New lines will be converted into spaces.

In the following examples for /g/, g can be changed to a different board ID (a, b, etc...), the current board (current), or the Twitter link (@).
Board link: g
Archive link: g-archive
Internal archive link: g-expired
Title link: g-title
Board link (Replace with title when on that board): g-replace
Full text link: g-full
Custom text link: g-text:"Install Gentoo"
Index-only link: g-index
Catalog-only link: g-catalog
External link: external-text:"Google","http://www.google.com"
Combinations are possible: g-index-text:"Technology Index"
Full board list toggle: toggle-all

[ toggle-all ] [current-title] [g-title / a-title / jp-title] [x / wsg / h] [t-text:"Piracy"]
will give you
[ + ] [Technology] [Technology / Anime & Manga / Otaku Culture] [x / wsg / h] [Piracy]
if you are on /g/.
Time Formatting is disabled.
:
Supported format specifiers:
Day: %a, %A, %d, %e
Month: %m, %b, %B
Year: %y, %Y
Hour: %k, %H, %l, %I, %p, %P
Minute: %M
Second: %S
Literal %: %%
Quote Backlinks formatting is disabled.
:
File Info Formatting is disabled.
:
Link: %l (truncated), %L (untruncated), %T (4chan filename)
Filename: %n (truncated), %N (untruncated), %t (4chan filename)
Spoiler indicator: %p
Size: %B (Bytes), %K (KB), %M (MB), %s (4chan default)
Resolution: %r (Displays 'PDF' for PDF files)
Tag: %g
Literal %: %%
Quick Reply Personas

One item per line.
Items will be added in the relevant input's auto-completion list.
Password items will always be used, since there is no password input.
Lines starting with a # will be ignored.

Unread Favicon is disabled.
Thread Updater is disabled.
Interval: seconds
Custom Cooldown Time
Seconds:
" }); @@ -16862,8 +16862,8 @@ for (boardID in archBoards) { o = archBoards[boardID]; ref4 = ['thread', 'post', 'file']; - for (w = 0, len5 = ref4.length; w < len5; w++) { - item = ref4[w]; + for (y = 0, len5 = ref4.length; y < len5; y++) { + item = ref4[y]; i = o[item][0].length ? 1 : 0; o[item][i].push('disabled'); o[item] = o[item][0].concat(o[item][1]); @@ -16872,8 +16872,8 @@ rows = []; boardOptions = []; ref5 = Object.keys(archBoards).sort(); - for (y = 0, len6 = ref5.length; y < len6; y++) { - boardID = ref5[y]; + for (z = 0, len6 = ref5.length; z < len6; z++) { + boardID = ref5[z]; row = $.el('tr', { className: "board-" + boardID }); @@ -16885,8 +16885,8 @@ })); o = archBoards[boardID]; ref6 = ['thread', 'post', 'file']; - for (z = 0, len7 = ref6.length; z < len7; z++) { - item = ref6[z]; + for (aa = 0, len7 = ref6.length; aa < len7; aa++) { + item = ref6[aa]; $.add(row, Settings.addArchiveCell(boardID, o, item)); } rows.push(row); diff --git a/builds/4chan-X-noupdate.crx b/builds/4chan-X-noupdate.crx index dd5584d49..6a4e19bc8 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 a5609951c..07d96ed94 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.11.9.2 +// @version 1.11.9.3 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X @@ -33,7 +33,8 @@ // @grant GM_openInTab // @grant GM_xmlhttpRequest // @run-at document-start -// @downloadURL https://www.4chan-x.net/builds/4chan-X-noupdate.user.js +// @updateURL https://noupdate.invalid/ +// @downloadURL https://noupdate.invalid/ // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAACVBMVEUAAGcAAABmzDNZt9VtAAAAAXRSTlMAQObYZgAAAF5JREFUeNrtkTESABAQxPD/R6tsE2dUGYUtFJvLDKf93KevHJAjpBorAQWSBIKqFASC4G0pCAkm4GfaEvgYXl0T6HBaE97f0vmnfYHbZOMLZCx9ISdKWwjOWZSC8GYm4SUGwfYgqI4AAAAASUVORK5CYII= // ==/UserScript== @@ -411,7 +412,7 @@ doc = d.documentElement; g = { - VERSION: '1.11.9.2', + VERSION: '1.11.9.3', NAMESPACE: '4chan X.', boards: {} }; @@ -7099,7 +7100,7 @@ return status.disabled = disabled || false; }, quote: function(e) { - var ancestor, caretPos, com, frag, index, insideCode, k, len1, len2, len3, len4, len5, len6, node, post, q, range, ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, sel, text, thread, u, v, w, y; + var ancestor, caretPos, com, frag, index, insideCode, k, len1, len2, len3, len4, len5, len6, node, post, q, range, ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, sel, text, thread, u, v, y, z; if (e != null) { e.preventDefault(); } @@ -7144,13 +7145,13 @@ $.replace(node, [$.tn('[code]')].concat(slice.call(node.childNodes), [$.tn('[/code]')])); } ref4 = $$('.linkify[data-original]', frag); - for (w = 0, len5 = ref4.length; w < len5; w++) { - node = ref4[w]; + for (y = 0, len5 = ref4.length; y < len5; y++) { + node = ref4[y]; $.replace(node, $.tn(node.dataset.original)); } ref5 = $$('.embedder', frag); - for (y = 0, len6 = ref5.length; y < len6; y++) { - node = ref5[y]; + for (z = 0, len6 = ref5.length; z < len6; z++) { + node = ref5[z]; if (((ref6 = node.previousSibling) != null ? ref6.nodeValue : void 0) === ' ') { $.rm(node.previousSibling); } @@ -7813,7 +7814,7 @@ initNoscript: function() { this.noscript = true; this.images = $$('.fbc-payload-imageselect > input'); - if (!this.images.length) { + if (this.images.length !== 9) { return; } $.addStyle(this.cssNoscript); @@ -7829,7 +7830,7 @@ img = ref[k]; img.tabIndex = 0; } - if (this.images.length) { + if (this.images.length === 9) { return this.addTooltips(this.images); } }, @@ -7877,36 +7878,36 @@ } }, keybinds: function(e) { - var dx, i, key, reload, verify, x; + var dx, i, key, last, n, reload, verify, w, x; if (!(this.images && doc.contains(this.images[0]))) { return; } + n = this.images.length; + w = Math.round(Math.sqrt(n)); + last = n + w - 1; reload = $('#recaptcha-reload-button, .fbc-button-reload'); verify = $('#recaptcha-verify-button, .fbc-button-verify > input'); x = this.images.indexOf(d.activeElement); if (x < 0) { - x = d.activeElement === verify ? 11 : 9; + x = d.activeElement === verify ? last : n; } key = Keybinds.keyCode(e); - if (!this.noscript && key === 'Space' && x < 9) { + if (!this.noscript && key === 'Space' && x < n) { this.images[x].click(); - } else if ((i = this.imageKeys.indexOf(key)) >= 0) { + } else if (n === 9 && (i = this.imageKeys.indexOf(key)) >= 0) { this.images[i % 9].click(); verify.focus(); } else if (dx = { - 'Up': 9, - 'Down': 3, - 'Left': 11, + 'Up': n, + 'Down': w, + 'Left': last, 'Right': 1 }[key]) { - x = (x + dx) % 12; - if (x === 10) { - x = dx === 11 ? 9 : 11; + x = (x + dx) % (n + w); + if ((n < x && x < last)) { + x = dx === last ? n : last; } - (this.images[x] || { - 9: reload, - 11: verify - }[x]).focus(); + (this.images[x] || (x === n ? reload : void 0) || (x === last ? verify : void 0)).focus(); } else { return; } @@ -16782,7 +16783,7 @@ return $.on(ta, 'change', $.cb.value); }, advanced: function(section) { - var applyCSS, archBoards, boardID, boardOptions, boardSelect, boards, customCSS, files, i, input, inputs, interval, item, items, k, len1, len2, len3, len4, len5, len6, len7, name, o, q, ref, ref1, ref2, ref3, ref4, ref5, ref6, row, rows, software, ta, table, u, v, w, warning, withCredentials, y, z; + var aa, applyCSS, archBoards, boardID, boardOptions, boardSelect, boards, customCSS, files, i, input, inputs, interval, item, items, k, len1, len2, len3, len4, len5, len6, len7, name, o, q, ref, ref1, ref2, ref3, ref4, ref5, ref6, row, rows, software, ta, table, u, v, warning, withCredentials, y, z; $.extend(section, { innerHTML: "
Archiver
404 Redirect is disabled.
Thread redirectionPost fetchingFile redirection
Captcha Language
Choose from list of language codes. Leave blank to autoselect.
Custom Board Navigation
New lines will be converted into spaces.

In the following examples for /g/, g can be changed to a different board ID (a, b, etc...), the current board (current), or the Twitter link (@).
Board link: g
Archive link: g-archive
Internal archive link: g-expired
Title link: g-title
Board link (Replace with title when on that board): g-replace
Full text link: g-full
Custom text link: g-text:"Install Gentoo"
Index-only link: g-index
Catalog-only link: g-catalog
External link: external-text:"Google","http://www.google.com"
Combinations are possible: g-index-text:"Technology Index"
Full board list toggle: toggle-all

[ toggle-all ] [current-title] [g-title / a-title / jp-title] [x / wsg / h] [t-text:"Piracy"]
will give you
[ + ] [Technology] [Technology / Anime & Manga / Otaku Culture] [x / wsg / h] [Piracy]
if you are on /g/.
Time Formatting is disabled.
:
Supported format specifiers:
Day: %a, %A, %d, %e
Month: %m, %b, %B
Year: %y, %Y
Hour: %k, %H, %l, %I, %p, %P
Minute: %M
Second: %S
Literal %: %%
Quote Backlinks formatting is disabled.
:
File Info Formatting is disabled.
:
Link: %l (truncated), %L (untruncated), %T (4chan filename)
Filename: %n (truncated), %N (untruncated), %t (4chan filename)
Spoiler indicator: %p
Size: %B (Bytes), %K (KB), %M (MB), %s (4chan default)
Resolution: %r (Displays 'PDF' for PDF files)
Tag: %g
Literal %: %%
Quick Reply Personas

One item per line.
Items will be added in the relevant input's auto-completion list.
Password items will always be used, since there is no password input.
Lines starting with a # will be ignored.

Unread Favicon is disabled.
Thread Updater is disabled.
Interval: seconds
Custom Cooldown Time
Seconds:
" }); @@ -16861,8 +16862,8 @@ for (boardID in archBoards) { o = archBoards[boardID]; ref4 = ['thread', 'post', 'file']; - for (w = 0, len5 = ref4.length; w < len5; w++) { - item = ref4[w]; + for (y = 0, len5 = ref4.length; y < len5; y++) { + item = ref4[y]; i = o[item][0].length ? 1 : 0; o[item][i].push('disabled'); o[item] = o[item][0].concat(o[item][1]); @@ -16871,8 +16872,8 @@ rows = []; boardOptions = []; ref5 = Object.keys(archBoards).sort(); - for (y = 0, len6 = ref5.length; y < len6; y++) { - boardID = ref5[y]; + for (z = 0, len6 = ref5.length; z < len6; z++) { + boardID = ref5[z]; row = $.el('tr', { className: "board-" + boardID }); @@ -16884,8 +16885,8 @@ })); o = archBoards[boardID]; ref6 = ['thread', 'post', 'file']; - for (z = 0, len7 = ref6.length; z < len7; z++) { - item = ref6[z]; + for (aa = 0, len7 = ref6.length; aa < len7; aa++) { + item = ref6[aa]; $.add(row, Settings.addArchiveCell(boardID, o, item)); } rows.push(row); diff --git a/builds/4chan-X.crx b/builds/4chan-X.crx index d2ddf59a7..476d3d6ce 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 d22715a88..4081e4b80 100644 --- a/builds/4chan-X.meta.js +++ b/builds/4chan-X.meta.js @@ -1,6 +1,6 @@ // ==UserScript== // @name 4chan X -// @version 1.11.9.2 +// @version 1.11.9.3 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X @@ -32,7 +32,7 @@ // @grant GM_openInTab // @grant GM_xmlhttpRequest // @run-at document-start -// @updateURL https://www.4chan-x.net/builds/4chan-X.meta.js +// @updateURL https://www.4chan-x.net/builds/4chan-X.meta.js // @downloadURL https://www.4chan-x.net/builds/4chan-X.user.js // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAACVBMVEUAAGcAAABmzDNZt9VtAAAAAXRSTlMAQObYZgAAAF5JREFUeNrtkTESABAQxPD/R6tsE2dUGYUtFJvLDKf93KevHJAjpBorAQWSBIKqFASC4G0pCAkm4GfaEvgYXl0T6HBaE97f0vmnfYHbZOMLZCx9ISdKWwjOWZSC8GYm4SUGwfYgqI4AAAAASUVORK5CYII= // ==/UserScript== diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js index b8b14fbaa..c87340fd1 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.11.9.2 +// @version 1.11.9.3 // @minGMVer 1.14 // @minFFVer 26 // @namespace 4chan-X @@ -33,7 +33,7 @@ // @grant GM_openInTab // @grant GM_xmlhttpRequest // @run-at document-start -// @updateURL https://www.4chan-x.net/builds/4chan-X.meta.js +// @updateURL https://www.4chan-x.net/builds/4chan-X.meta.js // @downloadURL https://www.4chan-x.net/builds/4chan-X.user.js // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAACVBMVEUAAGcAAABmzDNZt9VtAAAAAXRSTlMAQObYZgAAAF5JREFUeNrtkTESABAQxPD/R6tsE2dUGYUtFJvLDKf93KevHJAjpBorAQWSBIKqFASC4G0pCAkm4GfaEvgYXl0T6HBaE97f0vmnfYHbZOMLZCx9ISdKWwjOWZSC8GYm4SUGwfYgqI4AAAAASUVORK5CYII= // ==/UserScript== @@ -412,7 +412,7 @@ doc = d.documentElement; g = { - VERSION: '1.11.9.2', + VERSION: '1.11.9.3', NAMESPACE: '4chan X.', boards: {} }; @@ -7100,7 +7100,7 @@ return status.disabled = disabled || false; }, quote: function(e) { - var ancestor, caretPos, com, frag, index, insideCode, k, len1, len2, len3, len4, len5, len6, node, post, q, range, ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, sel, text, thread, u, v, w, y; + var ancestor, caretPos, com, frag, index, insideCode, k, len1, len2, len3, len4, len5, len6, node, post, q, range, ref, ref1, ref2, ref3, ref4, ref5, ref6, ref7, sel, text, thread, u, v, y, z; if (e != null) { e.preventDefault(); } @@ -7145,13 +7145,13 @@ $.replace(node, [$.tn('[code]')].concat(slice.call(node.childNodes), [$.tn('[/code]')])); } ref4 = $$('.linkify[data-original]', frag); - for (w = 0, len5 = ref4.length; w < len5; w++) { - node = ref4[w]; + for (y = 0, len5 = ref4.length; y < len5; y++) { + node = ref4[y]; $.replace(node, $.tn(node.dataset.original)); } ref5 = $$('.embedder', frag); - for (y = 0, len6 = ref5.length; y < len6; y++) { - node = ref5[y]; + for (z = 0, len6 = ref5.length; z < len6; z++) { + node = ref5[z]; if (((ref6 = node.previousSibling) != null ? ref6.nodeValue : void 0) === ' ') { $.rm(node.previousSibling); } @@ -7814,7 +7814,7 @@ initNoscript: function() { this.noscript = true; this.images = $$('.fbc-payload-imageselect > input'); - if (!this.images.length) { + if (this.images.length !== 9) { return; } $.addStyle(this.cssNoscript); @@ -7830,7 +7830,7 @@ img = ref[k]; img.tabIndex = 0; } - if (this.images.length) { + if (this.images.length === 9) { return this.addTooltips(this.images); } }, @@ -7878,36 +7878,36 @@ } }, keybinds: function(e) { - var dx, i, key, reload, verify, x; + var dx, i, key, last, n, reload, verify, w, x; if (!(this.images && doc.contains(this.images[0]))) { return; } + n = this.images.length; + w = Math.round(Math.sqrt(n)); + last = n + w - 1; reload = $('#recaptcha-reload-button, .fbc-button-reload'); verify = $('#recaptcha-verify-button, .fbc-button-verify > input'); x = this.images.indexOf(d.activeElement); if (x < 0) { - x = d.activeElement === verify ? 11 : 9; + x = d.activeElement === verify ? last : n; } key = Keybinds.keyCode(e); - if (!this.noscript && key === 'Space' && x < 9) { + if (!this.noscript && key === 'Space' && x < n) { this.images[x].click(); - } else if ((i = this.imageKeys.indexOf(key)) >= 0) { + } else if (n === 9 && (i = this.imageKeys.indexOf(key)) >= 0) { this.images[i % 9].click(); verify.focus(); } else if (dx = { - 'Up': 9, - 'Down': 3, - 'Left': 11, + 'Up': n, + 'Down': w, + 'Left': last, 'Right': 1 }[key]) { - x = (x + dx) % 12; - if (x === 10) { - x = dx === 11 ? 9 : 11; + x = (x + dx) % (n + w); + if ((n < x && x < last)) { + x = dx === last ? n : last; } - (this.images[x] || { - 9: reload, - 11: verify - }[x]).focus(); + (this.images[x] || (x === n ? reload : void 0) || (x === last ? verify : void 0)).focus(); } else { return; } @@ -16783,7 +16783,7 @@ return $.on(ta, 'change', $.cb.value); }, advanced: function(section) { - var applyCSS, archBoards, boardID, boardOptions, boardSelect, boards, customCSS, files, i, input, inputs, interval, item, items, k, len1, len2, len3, len4, len5, len6, len7, name, o, q, ref, ref1, ref2, ref3, ref4, ref5, ref6, row, rows, software, ta, table, u, v, w, warning, withCredentials, y, z; + var aa, applyCSS, archBoards, boardID, boardOptions, boardSelect, boards, customCSS, files, i, input, inputs, interval, item, items, k, len1, len2, len3, len4, len5, len6, len7, name, o, q, ref, ref1, ref2, ref3, ref4, ref5, ref6, row, rows, software, ta, table, u, v, warning, withCredentials, y, z; $.extend(section, { innerHTML: "
Archiver
404 Redirect is disabled.
Thread redirectionPost fetchingFile redirection
Captcha Language
Choose from list of language codes. Leave blank to autoselect.
Custom Board Navigation
New lines will be converted into spaces.

In the following examples for /g/, g can be changed to a different board ID (a, b, etc...), the current board (current), or the Twitter link (@).
Board link: g
Archive link: g-archive
Internal archive link: g-expired
Title link: g-title
Board link (Replace with title when on that board): g-replace
Full text link: g-full
Custom text link: g-text:"Install Gentoo"
Index-only link: g-index
Catalog-only link: g-catalog
External link: external-text:"Google","http://www.google.com"
Combinations are possible: g-index-text:"Technology Index"
Full board list toggle: toggle-all

[ toggle-all ] [current-title] [g-title / a-title / jp-title] [x / wsg / h] [t-text:"Piracy"]
will give you
[ + ] [Technology] [Technology / Anime & Manga / Otaku Culture] [x / wsg / h] [Piracy]
if you are on /g/.
Time Formatting is disabled.
:
Supported format specifiers:
Day: %a, %A, %d, %e
Month: %m, %b, %B
Year: %y, %Y
Hour: %k, %H, %l, %I, %p, %P
Minute: %M
Second: %S
Literal %: %%
Quote Backlinks formatting is disabled.
:
File Info Formatting is disabled.
:
Link: %l (truncated), %L (untruncated), %T (4chan filename)
Filename: %n (truncated), %N (untruncated), %t (4chan filename)
Spoiler indicator: %p
Size: %B (Bytes), %K (KB), %M (MB), %s (4chan default)
Resolution: %r (Displays 'PDF' for PDF files)
Tag: %g
Literal %: %%
Quick Reply Personas

One item per line.
Items will be added in the relevant input's auto-completion list.
Password items will always be used, since there is no password input.
Lines starting with a # will be ignored.

Unread Favicon is disabled.
Thread Updater is disabled.
Interval: seconds
Custom Cooldown Time
Seconds:
" }); @@ -16862,8 +16862,8 @@ for (boardID in archBoards) { o = archBoards[boardID]; ref4 = ['thread', 'post', 'file']; - for (w = 0, len5 = ref4.length; w < len5; w++) { - item = ref4[w]; + for (y = 0, len5 = ref4.length; y < len5; y++) { + item = ref4[y]; i = o[item][0].length ? 1 : 0; o[item][i].push('disabled'); o[item] = o[item][0].concat(o[item][1]); @@ -16872,8 +16872,8 @@ rows = []; boardOptions = []; ref5 = Object.keys(archBoards).sort(); - for (y = 0, len6 = ref5.length; y < len6; y++) { - boardID = ref5[y]; + for (z = 0, len6 = ref5.length; z < len6; z++) { + boardID = ref5[z]; row = $.el('tr', { className: "board-" + boardID }); @@ -16885,8 +16885,8 @@ })); o = archBoards[boardID]; ref6 = ['thread', 'post', 'file']; - for (z = 0, len7 = ref6.length; z < len7; z++) { - item = ref6[z]; + for (aa = 0, len7 = ref6.length; aa < len7; aa++) { + item = ref6[aa]; $.add(row, Settings.addArchiveCell(boardID, o, item)); } rows.push(row); diff --git a/builds/4chan-X.zip b/builds/4chan-X.zip index 7cab7db0e..a30438271 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 5b59db41f..63b487b3a 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 34a7d1cb0..d38a8e490 100644 --- a/builds/updates.xml +++ b/builds/updates.xml @@ -1,7 +1,7 @@ - + diff --git a/package.json b/package.json index 9f8e7f2ec..9fa356681 100644 --- a/package.json +++ b/package.json @@ -4,8 +4,8 @@ "meta": { "name": "4chan X", "fork": "ccd0", - "version": "1.11.9.2", - "date": "2015-08-17T01:13:28.335Z", + "version": "1.11.9.3", + "date": "2015-08-21T07:22:19.951Z", "page": "https://www.4chan-x.net/", "downloads": "https://www.4chan-x.net/builds/", "oldVersions": "https://raw.githubusercontent.com/ccd0/4chan-x/",