class app.UpdateChecker constructor: -> @lastCheck = Date.now() $.on window, 'focus', @onFocus app.serviceWorker?.on 'updateready', @onUpdateReady setTimeout @checkDocs, 0 check: -> if app.serviceWorker app.serviceWorker.update() else ajax url: $('script[src*="application"]').getAttribute('src') dataType: 'application/javascript' error: (_, xhr) => @onUpdateReady() if xhr.status is 404 return onUpdateReady: -> new app.views.Notif 'UpdateReady', autoHide: null return checkDocs: => unless app.settings.get('manualUpdate') app.docs.updateInBackground() else app.docs.checkForUpdates (i) => @onDocsUpdateReady() if i > 0 return onDocsUpdateReady: -> new app.views.Notif 'UpdateDocs', autoHide: null return onFocus: => if Date.now() - @lastCheck > 21600e3 @lastCheck = Date.now() @check() return
class app.UpdateChecker
constructor: ->
@lastCheck = Date.now()
$.on window, 'focus', @onFocus
app.serviceWorker?.on 'updateready', @onUpdateReady
setTimeout @checkDocs, 0
check: ->
if app.serviceWorker
app.serviceWorker.update()
else
ajax
url: $('script[src*="application"]').getAttribute('src')
dataType: 'application/javascript'
error: (_, xhr) => @onUpdateReady() if xhr.status is 404
return
onUpdateReady: ->
new app.views.Notif 'UpdateReady', autoHide: null
return
checkDocs: =>
unless app.settings.get('manualUpdate')
app.docs.updateInBackground()
else
app.docs.checkForUpdates (i) => @onDocsUpdateReady() if i > 0
return
onDocsUpdateReady: ->
new app.views.Notif 'UpdateDocs', autoHide: null
return
onFocus: =>
if Date.now() - @lastCheck > 21600e3
@lastCheck = Date.now()
@check()
return