Showing the changes to assets/javascripts (1 of 2 files). Show all
Unified · Split
| @@ -6,7 +6,6 @@ class app.ServiceWorker · 5 unmodified lines | ||
| 6 | 6 | |
| 7 | 7 | constructor: -> |
| 8 | 8 | @registration = null |
| 9 | − @installingRegistration = null | |
| 10 | 9 | @notifyUpdate = true |
| 11 | 10 | |
| 12 | 11 | navigator.serviceWorker.register(app.config.service_worker_path, {scope: '/'}) |
| @@ -16,37 +15,30 @@ class app.ServiceWorker · 3 unmodified lines | ||
| 16 | 15 | update: -> |
| 17 | 16 | return unless @registration |
| 18 | 17 | @notifyUpdate = true |
| 19 | − return @doUpdate() | |
| 18 | + return @registration.update().catch(->) | |
| 20 | 19 | |
| 21 | 20 | updateInBackground: -> |
| 22 | 21 | return unless @registration |
| 23 | 22 | @notifyUpdate = false |
| 24 | − return @doUpdate() | |
| 23 | + return @registration.update().catch(->) | |
| 25 | 24 | |
| 26 | 25 | reload: -> |
| 27 | 26 | return @updateInBackground().then(() -> app.reboot()) |
| 28 | 27 | |
| 29 | − doUpdate: -> | |
| 30 | − return @registration.update().catch(->) | |
| 31 | − | |
| 32 | 28 | updateRegistration: (registration) -> |
| 33 | − $.off @registration, 'updatefound', @onUpdateFound if @registration | |
| 34 | − $.off @installingRegistration, 'statechange', @onStateChange if @installingRegistration | |
| 35 | − | |
| 36 | 29 | @registration = registration |
| 37 | − @installingRegistration = null | |
| 38 | − | |
| 39 | 30 | $.on @registration, 'updatefound', @onUpdateFound |
| 40 | 31 | return |
| 41 | 32 | |
| 42 | 33 | onUpdateFound: () => |
| 34 | + $.off @installingRegistration, 'statechange', @onStateChange() if @installingRegistration | |
| 43 | 35 | @installingRegistration = @registration.installing |
| 44 | 36 | $.on @installingRegistration, 'statechange', @onStateChange |
| 45 | 37 | return |
| 46 | 38 | |
| 47 | 39 | onStateChange: () => |
| 48 | − if @installingRegistration.state == 'installed' and navigator.serviceWorker.controller | |
| 49 | − @updateRegistration(@installingRegistration) | |
| 40 | + if @installingRegistration and @installingRegistration.state == 'installed' and navigator.serviceWorker.controller | |
| 41 | + @installingRegistration = null | |
| 50 | 42 | @onUpdateReady() |
| 51 | 43 | return |
| 52 | 44 | |