| 123456789101112131415161718192021222324252627282930313233343536373839 |
- 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
|