Mailspring/internal_packages/notification-update-available/lib/main.cjsx
Ben Gotow 9378f4480c fix(naming): Move atom/inbox/nilas refs to Nylas
Conflicts:
	internal_packages/inbox-activity-bar/lib/activity-bar-long-poll-item.cjsx
2015-05-15 11:07:28 -07:00

36 lines
1.1 KiB
CoffeeScript

remote = require 'remote'
{Actions} = require 'nylas-exports'
ipc = require('ipc')
module.exports =
activate: (@state) ->
# Populate our initial state directly from the auto update manager.
updater = remote.getGlobal('application').autoUpdateManager
@_unlisten = Actions.notificationActionTaken.listen(@_onNotificationActionTaken, @)
if updater.getState() is 'update-available'
@displayNotification(updater.releaseVersion)
atom.onUpdateAvailable ({releaseVersion, releaseNotes} = {}) =>
@displayNotification(releaseVersion)
displayNotification: (version) ->
version = if version then "(#{version})" else ''
Actions.postNotification
type: 'info',
sticky: true
message: "An update to Edgehill is available #{version} - Restart now to update!",
icon: 'fa-flag',
actions: [{
label: 'Install'
id: 'release-bar:install-update'
}]
deactivate: ->
@_unlisten()
_onNotificationActionTaken: ({notification, action}) ->
if action.id is 'release-bar:install-update'
ipc.send 'command', 'application:install-update'
true