Merge branch 'master' of https://github.com/Spittie/4chan-x into v3

Conflicts:
	CHANGELOG.md
	LICENSE
	builds/4chan-X.meta.js
	builds/4chan-X.user.js
	builds/crx/script.js
	src/General/Index.coffee
	src/Posting/QR.coffee
This commit is contained in:
Zixaphir 2014-02-28 19:37:26 -07:00
commit 553a5a9133
16 changed files with 1810 additions and 928 deletions

View File

@ -45,18 +45,20 @@
- Added `Original filename` variable to Sauce panel. - Added `Original filename` variable to Sauce panel.
- Fixed a bug which prevented QR cooldowns from being pruned from storage. - Fixed a bug which prevented QR cooldowns from being pruned from storage.
- On Chrome, the storage could reach the quota and prevent 4chan X from saving data like QR name/mail or auto-watch for example. - On Chrome, the storage could reach the quota and prevent 4chan X from saving data like QR name/mail or auto-watch for example.
- Added a `Reset Settings` button in the settings.
## v1.4.0
*2014-02-24*
**MayhemYDG**:
- Added a Reset Settings button in the settings.
- More stability update. - More stability update.
- Stability update. - Stability update.
**ParrotParrot**: **ParrotParrot**:
- Added `Original filename` variable to Sauce panel. - Added `Original filename` variable to Sauce panel.
### v1.3.10 **Zixaphir**:
*2014-02-20* - Merge changes from Mayhem fork
**Spittie**
- I keep breaking and fixing stuff. But mostly breaking.
### v1.3.9 ### v1.3.9
*2014-02-20* *2014-02-20*

View File

@ -1,5 +1,5 @@
/* /*
* 4chan X - Version 1.3.10 - 2014-02-28 * 4chan X - Version 1.4.0 - 2014-02-28
* *
* Licensed under the MIT license. * Licensed under the MIT license.
* https://github.com/Spittie/4chan-x/blob/master/LICENSE * https://github.com/Spittie/4chan-x/blob/master/LICENSE

View File

@ -4,7 +4,7 @@ Personal fork of Seaweed's 4chan X.
##[Install](https://github.com/Spittie/4chan-x/raw/master/builds/4chan-X.user.js) (Firefox) ##[Install](https://github.com/Spittie/4chan-x/raw/master/builds/4chan-X.user.js) (Firefox)
##[Install](https://github.com/Spittie/4chan-x/raw/master/builds/crx.crx) (Chrom*) ##[Install](https://github.com/Spittie/4chan-x/raw/master/builds/crx.crx) (Chrom*)
##[Install](http://a.pomf.se/ermdzx.xpi) (Firefox Mobile) ##[Install](http://a.pomf.se/iazopu.xpi) (Firefox Mobile)
## If you have any problems, try resetting your 4chan X settings before calling me a faggot (but feel free to do so) ## If you have any problems, try resetting your 4chan X settings before calling me a faggot (but feel free to do so)

View File

@ -1,6 +1,6 @@
// ==UserScript== // ==UserScript==
// @name 4chan X // @name 4chan X
// @version 1.3.10 // @version 1.4.0
// @minGMVer 1.14 // @minGMVer 1.14
// @minFFVer 26 // @minFFVer 26
// @namespace 4chan-X // @namespace 4chan-X

View File

@ -1,7 +1,7 @@
// Generated by CoffeeScript // Generated by CoffeeScript
// ==UserScript== // ==UserScript==
// @name 4chan X // @name 4chan X
// @version 1.3.10 // @version 1.4.0
// @minGMVer 1.14 // @minGMVer 1.14
// @minFFVer 26 // @minFFVer 26
// @namespace 4chan-X // @namespace 4chan-X
@ -24,7 +24,7 @@
// ==/UserScript== // ==/UserScript==
/* /*
* 4chan X - Version 1.3.10 - 2014-02-28 * 4chan X - Version 1.4.0 - 2014-02-28
* *
* Licensed under the MIT license. * Licensed under the MIT license.
* https://github.com/Spittie/4chan-x/blob/master/LICENSE * https://github.com/Spittie/4chan-x/blob/master/LICENSE
@ -368,7 +368,7 @@
doc = d.documentElement; doc = d.documentElement;
g = { g = {
VERSION: '1.3.10', VERSION: '1.4.0',
NAMESPACE: '4chan X.', NAMESPACE: '4chan X.',
boards: {} boards: {}
}; };
@ -3060,7 +3060,7 @@
return Math.max(0, Index.getPagesNum() - 1); return Math.max(0, Index.getPagesNum() - 1);
}, },
togglePagelist: function() { togglePagelist: function() {
return Index.pagelist.hidden = Conf['Index Mode'] === 'all pages'; return Index.pagelist.hidden = Conf['Index Mode'] !== 'paged';
}, },
buildPagelist: function() { buildPagelist: function() {
var a, i, maxPageNum, nodes, pagesRoot, _i; var a, i, maxPageNum, nodes, pagesRoot, _i;
@ -6053,6 +6053,14 @@
$.on(d, 'drop', QR.dropFile); $.on(d, 'drop', QR.dropFile);
$.on(d, 'dragstart dragend', QR.drag); $.on(d, 'dragstart dragend', QR.drag);
({ ({
catalog: function() {
if (Conf["Persistent QR"]) {
QR.open();
}
if (Conf['Auto Hide QR']) {
return QR.hide();
}
},
index: function() { index: function() {
return $.on(d, 'IndexRefresh', QR.generatePostableThreadsList); return $.on(d, 'IndexRefresh', QR.generatePostableThreadsList);
}, },
@ -6748,6 +6756,8 @@
if (/captcha|verification/i.test(err.textContent) || err === 'Connection error with sys.4chan.org.') { if (/captcha|verification/i.test(err.textContent) || err === 'Connection error with sys.4chan.org.') {
if (/mistyped/i.test(err.textContent)) { if (/mistyped/i.test(err.textContent)) {
err = 'You seem to have mistyped the CAPTCHA.'; err = 'You seem to have mistyped the CAPTCHA.';
} else if (/expired/i.test(err.textContent)) {
err = 'This CAPTCHA is no longer valid because it has expired.';
} }
QR.cooldown.auto = QR.captcha.isEnabled ? !!QR.captcha.captchas.length : err === 'Connection error with sys.4chan.org.' ? true : false; QR.cooldown.auto = QR.captcha.isEnabled ? !!QR.captcha.captchas.length : err === 'Connection error with sys.4chan.org.' ? true : false;
QR.cooldown.set({ QR.cooldown.set({
@ -10850,16 +10860,6 @@
https: true, https: true,
software: "foolfuuka" software: "foolfuuka"
} }
}, {
name: "Install Gentoo",
boards: ["diy", "g", "sci"],
files: [],
data: {
domain: "archive.installgentoo.net",
http: false,
https: true,
software: "fuuka"
}
}, { }, {
name: "Rebecca Black Tech", name: "Rebecca Black Tech",
boards: ["cgl", "g", "mu", "w"], boards: ["cgl", "g", "mu", "w"],

Binary file not shown.

View File

@ -1,6 +1,6 @@
{ {
"name": "4chan X", "name": "4chan X",
"version": "1.3.10", "version": "1.4.0",
"manifest_version": 2, "manifest_version": 2,
"description": "Cross-browser userscript for maximum lurking on 4chan.", "description": "Cross-browser userscript for maximum lurking on 4chan.",
"icons": { "icons": {

View File

@ -1,6 +1,6 @@
// Generated by CoffeeScript // Generated by CoffeeScript
/* /*
* 4chan X - Version 1.3.10 - 2014-02-28 * 4chan X - Version 1.4.0 - 2014-02-28
* *
* Licensed under the MIT license. * Licensed under the MIT license.
* https://github.com/Spittie/4chan-x/blob/master/LICENSE * https://github.com/Spittie/4chan-x/blob/master/LICENSE
@ -344,7 +344,7 @@
doc = d.documentElement; doc = d.documentElement;
g = { g = {
VERSION: '1.3.10', VERSION: '1.4.0',
NAMESPACE: '4chan X.', NAMESPACE: '4chan X.',
boards: {} boards: {}
}; };
@ -3111,7 +3111,7 @@
return Math.max(0, Index.getPagesNum() - 1); return Math.max(0, Index.getPagesNum() - 1);
}, },
togglePagelist: function() { togglePagelist: function() {
return Index.pagelist.hidden = Conf['Index Mode'] === 'all pages'; return Index.pagelist.hidden = Conf['Index Mode'] !== 'paged';
}, },
buildPagelist: function() { buildPagelist: function() {
var a, i, maxPageNum, nodes, pagesRoot, _i; var a, i, maxPageNum, nodes, pagesRoot, _i;
@ -6098,6 +6098,14 @@
$.on(d, 'drop', QR.dropFile); $.on(d, 'drop', QR.dropFile);
$.on(d, 'dragstart dragend', QR.drag); $.on(d, 'dragstart dragend', QR.drag);
({ ({
catalog: function() {
if (Conf["Persistent QR"]) {
QR.open();
}
if (Conf['Auto Hide QR']) {
return QR.hide();
}
},
index: function() { index: function() {
return $.on(d, 'IndexRefresh', QR.generatePostableThreadsList); return $.on(d, 'IndexRefresh', QR.generatePostableThreadsList);
}, },
@ -6783,6 +6791,8 @@
if (/captcha|verification/i.test(err.textContent) || err === 'Connection error with sys.4chan.org.') { if (/captcha|verification/i.test(err.textContent) || err === 'Connection error with sys.4chan.org.') {
if (/mistyped/i.test(err.textContent)) { if (/mistyped/i.test(err.textContent)) {
err = 'You seem to have mistyped the CAPTCHA.'; err = 'You seem to have mistyped the CAPTCHA.';
} else if (/expired/i.test(err.textContent)) {
err = 'This CAPTCHA is no longer valid because it has expired.';
} }
QR.cooldown.auto = QR.captcha.isEnabled ? !!QR.captcha.captchas.length : err === 'Connection error with sys.4chan.org.' ? true : false; QR.cooldown.auto = QR.captcha.isEnabled ? !!QR.captcha.captchas.length : err === 'Connection error with sys.4chan.org.' ? true : false;
QR.cooldown.set({ QR.cooldown.set({
@ -10856,16 +10866,6 @@
https: true, https: true,
software: "foolfuuka" software: "foolfuuka"
} }
}, {
name: "Install Gentoo",
boards: ["diy", "g", "sci"],
files: [],
data: {
domain: "archive.installgentoo.net",
http: false,
https: true,
software: "fuuka"
}
}, { }, {
name: "Rebecca Black Tech", name: "Rebecca Black Tech",
boards: ["cgl", "g", "mu", "w"], boards: ["cgl", "g", "mu", "w"],

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
postMessage({version:'1.3.10'},'*') postMessage({version:'1.4.0'},'*')

View File

@ -1,6 +1,6 @@
{ {
"name": "4chan-X", "name": "4chan-X",
"version": "1.3.10", "version": "1.4.0",
"description": "Cross-browser userscript for maximum lurking on 4chan.", "description": "Cross-browser userscript for maximum lurking on 4chan.",
"meta": { "meta": {
"name": "4chan X", "name": "4chan X",

View File

@ -76,15 +76,6 @@ Redirect =
http: true http: true
https: true https: true
software: "foolfuuka" software: "foolfuuka"
,
name: "Install Gentoo"
boards: ["diy", "g", "sci"]
files: []
data:
domain: "archive.installgentoo.net"
http: false
https: true
software: "fuuka"
, ,
name: "Rebecca Black Tech" name: "Rebecca Black Tech"
boards: ["cgl", "g", "mu", "w"] boards: ["cgl", "g", "mu", "w"]

View File

@ -421,7 +421,7 @@ Index =
Math.max 0, Index.getPagesNum() - 1 Math.max 0, Index.getPagesNum() - 1
togglePagelist: -> togglePagelist: ->
Index.pagelist.hidden = Conf['Index Mode'] is 'all pages' Index.pagelist.hidden = Conf['Index Mode'] isnt 'paged'
buildPagelist: -> buildPagelist: ->
pagesRoot = $ '.pages', Index.pagelist pagesRoot = $ '.pages', Index.pagelist

View File

@ -3,8 +3,9 @@ Navigate =
init: -> init: ->
return if g.VIEW is 'catalog' or g.BOARD.ID is 'f' or !Conf['JSON Navigation'] return if g.VIEW is 'catalog' or g.BOARD.ID is 'f' or !Conf['JSON Navigation']
# blink/webkit throw a popstate on page load. Not what we want. $.ready ->
$.ready -> $.on window, 'popstate', Navigate.popstate # blink/webkit throw a popstate on page load. Not what we want.
$.on window, 'popstate', Navigate.popstate
@title = -> return @title = -> return

View File

@ -72,6 +72,9 @@ QR =
$.on d, 'drop', QR.dropFile $.on d, 'drop', QR.dropFile
$.on d, 'dragstart dragend', QR.drag $.on d, 'dragstart dragend', QR.drag
{ {
catalog: ->
QR.open() if Conf["Persistent QR"]
QR.hide() if Conf['Auto Hide QR']
index: -> index: ->
$.on d, 'IndexRefresh', QR.generatePostableThreadsList $.on d, 'IndexRefresh', QR.generatePostableThreadsList
thread: -> thread: ->
@ -434,30 +437,30 @@ QR =
el: dialog = UI.dialog 'qr', 'top:0;right:0;', <%= importHTML('Features/QuickReply') %> el: dialog = UI.dialog 'qr', 'top:0;right:0;', <%= importHTML('Features/QuickReply') %>
nodes[val[0]] = $ val[1], dialog for val in [ nodes[val[0]] = $ val[1], dialog for val in [
['move', '.move'] ['move', '.move']
['autohide', '#autohide'] ['autohide', '#autohide']
['thread', 'select'] ['thread', 'select']
['threadPar', '#qr-thread-select'] ['threadPar', '#qr-thread-select']
['close', '.close'] ['close', '.close']
['form', 'form'] ['form', 'form']
['dumpButton', '#dump-button'] ['dumpButton', '#dump-button']
['urlButton', '#url-button'] ['urlButton', '#url-button']
['name', '[data-name=name]'] ['name', '[data-name=name]']
['email', '[data-name=email]'] ['email', '[data-name=email]']
['sub', '[data-name=sub]'] ['sub', '[data-name=sub]']
['com', '[data-name=com]'] ['com', '[data-name=com]']
['dumpList', '#dump-list'] ['dumpList', '#dump-list']
['addPost', '#add-post'] ['addPost', '#add-post']
['charCount', '#char-count'] ['charCount', '#char-count']
['fileSubmit', '#file-n-submit'] ['fileSubmit', '#file-n-submit']
['filesize', '#qr-filesize'] ['filesize', '#qr-filesize']
['filename', '#qr-filename'] ['filename', '#qr-filename']
['fileContainer', '#qr-filename-container'] ['fileContainer', '#qr-filename-container']
['fileRM', '#qr-filerm'] ['fileRM', '#qr-filerm']
['fileExtras', '#qr-extras-container'] ['fileExtras', '#qr-extras-container']
['spoiler', '#qr-file-spoiler'] ['spoiler', '#qr-file-spoiler']
['status', '[type=submit]'] ['status', '[type=submit]']
['fileInput', '[type=file]'] ['fileInput', '[type=file]']
] ]
nodes.fileInput.max = $('input[name=MAX_FILE_SIZE]').value nodes.fileInput.max = $('input[name=MAX_FILE_SIZE]').value
@ -730,6 +733,8 @@ QR =
# Remove the obnoxious 4chan Pass ad. # Remove the obnoxious 4chan Pass ad.
if /mistyped/i.test err.textContent if /mistyped/i.test err.textContent
err = 'You seem to have mistyped the CAPTCHA.' err = 'You seem to have mistyped the CAPTCHA.'
else if /expired/i.test err.textContent
err = 'This CAPTCHA is no longer valid because it has expired.'
# Enable auto-post if we have some cached captchas. # Enable auto-post if we have some cached captchas.
QR.cooldown.auto = if QR.captcha.isEnabled QR.cooldown.auto = if QR.captcha.isEnabled
!!QR.captcha.captchas.length !!QR.captcha.captchas.length