Merge branch '1.9.0.x'

Conflicts:
	CHANGELOG.md
	LICENSE
	builds/4chan-X-beta.crx
	builds/4chan-X-beta.meta.js
	builds/4chan-X-beta.user.js
	builds/4chan-X-noupdate.crx
	builds/4chan-X-noupdate.user.js
	builds/4chan-X.crx
	builds/4chan-X.meta.js
	builds/4chan-X.user.js
	builds/4chan-X.zip
	builds/updates-beta.xml
	builds/updates.xml
	package.json
This commit is contained in:
ccd0 2014-09-01 15:11:52 -07:00
commit 3f34a3b6aa
2 changed files with 35 additions and 10 deletions

View File

@ -1,6 +1,8 @@
### v1.9.1.1 ### v1.9.1.1
*2014-09-01* *2014-09-01*
Based on v1.9.0.6.
**ccd0** **ccd0**
- Better fix for the bug pushing the QR's captcha response line offscreen. Previous fix caused problems with comment field resizing. - Better fix for the bug pushing the QR's captcha response line offscreen. Previous fix caused problems with comment field resizing.
@ -14,6 +16,12 @@ Although not done using this workaround, 4chan X also requests HTTP content from
- Start GIF/WebM files from the beginning when re-opened via inlining or hover view. Inlining a GIF/WebM that you are already watching via hover view does not restart it. - Start GIF/WebM files from the beginning when re-opened via inlining or hover view. Inlining a GIF/WebM that you are already watching via hover view does not restart it.
- Fix a bug that sometimes caused the QR's captcha response line to be pushed offscreen when a captcha was loaded. - Fix a bug that sometimes caused the QR's captcha response line to be pushed offscreen when a captcha was loaded.
### v1.9.0.7
*2014-09-01*
**ccd0**
- Work around false 404s from 4chan's JSON API by checking the catalog to confirm thread death.
### v1.9.0.6 ### v1.9.0.6
*2014-08-31* *2014-08-31*

View File

@ -139,17 +139,25 @@ ThreadUpdater =
else else
ThreadUpdater.setInterval() ThreadUpdater.setInterval()
when 404 when 404
g.DEAD = true # XXX workaround for 4chan sending false 404s
ThreadUpdater.set 'status', '404', 'warning' $.ajax "//a.4cdn.org/#{ThreadUpdater.thread.board}/catalog.json", onloadend: ->
ThreadUpdater.kill() if @status is 200
confirmed = true
for page in @response
for thread in page.threads
if thread.no is ThreadUpdater.thread.ID
confirmed = false
break
else
confirmed = false
if confirmed
g.DEAD = true
ThreadUpdater.set 'status', '404', 'warning'
ThreadUpdater.kill()
else
ThreadUpdater.error req
else else
ThreadUpdater.outdateCount++ ThreadUpdater.error req
ThreadUpdater.setInterval()
[text, klass] = if req.status is 304
[null, null]
else
["#{req.statusText} (#{req.status})", 'warning']
ThreadUpdater.set 'status', text, klass
if ThreadUpdater.postID if ThreadUpdater.postID
ThreadUpdater.cb.checkpost() ThreadUpdater.cb.checkpost()
@ -162,6 +170,15 @@ ThreadUpdater =
404: true 404: true
threadID: ThreadUpdater.thread.fullID threadID: ThreadUpdater.thread.fullID
error: (req) ->
ThreadUpdater.outdateCount++
ThreadUpdater.setInterval()
[text, klass] = if req.status is 304
[null, null]
else
["#{req.statusText} (#{req.status})", 'warning']
ThreadUpdater.set 'status', text, klass
setInterval: -> setInterval: ->
i = ThreadUpdater.interval + 1 i = ThreadUpdater.interval + 1