diff --git a/ElectronNET.API/AutoUpdater.cs b/ElectronNET.API/AutoUpdater.cs index f464c36..ccf2590 100644 --- a/ElectronNET.API/AutoUpdater.cs +++ b/ElectronNET.API/AutoUpdater.cs @@ -10,6 +10,203 @@ namespace ElectronNET.API /// public sealed class AutoUpdater { + /// + /// Whether to automatically download an update when it is found. (Default is true) + /// + public bool AutoDownload + { + get + { + return Task.Run(() => + { + var taskCompletionSource = new TaskCompletionSource(); + + BridgeConnector.Socket.On("autoUpdater-autoDownload-get-reply", (result) => + { + BridgeConnector.Socket.Off("autoUpdater-autoDownload-get-reply"); + taskCompletionSource.SetResult((bool)result); + }); + + BridgeConnector.Socket.Emit("autoUpdater-autoDownload-get"); + + return taskCompletionSource.Task; + }).Result; + } + set + { + BridgeConnector.Socket.Emit("autoUpdater-autoDownload-set", value); + } + } + + /// + /// Whether to automatically install a downloaded update on app quit (if `QuitAndInstall` was not called before). + /// + /// Applicable only on Windows and Linux. + /// + public bool AutoInstallOnAppQuit + { + get + { + return Task.Run(() => + { + var taskCompletionSource = new TaskCompletionSource(); + + BridgeConnector.Socket.On("autoUpdater-autoInstallOnAppQuit-get-reply", (result) => + { + BridgeConnector.Socket.Off("autoUpdater-autoInstallOnAppQuit-get-reply"); + taskCompletionSource.SetResult((bool)result); + }); + + BridgeConnector.Socket.Emit("autoUpdater-autoInstallOnAppQuit-get"); + + return taskCompletionSource.Task; + }).Result; + } + set + { + BridgeConnector.Socket.Emit("autoUpdater-autoInstallOnAppQuit-set", value); + } + } + + /// + /// *GitHub provider only.* Whether to allow update to pre-release versions. + /// Defaults to "true" if application version contains prerelease components (e.g. "0.12.1-alpha.1", here "alpha" is a prerelease component), otherwise "false". + /// + /// If "true", downgrade will be allowed("allowDowngrade" will be set to "true"). + /// + public bool AllowPrerelease + { + get + { + return Task.Run(() => + { + var taskCompletionSource = new TaskCompletionSource(); + + BridgeConnector.Socket.On("autoUpdater-allowPrerelease-get-reply", (result) => + { + BridgeConnector.Socket.Off("autoUpdater-allowPrerelease-get-reply"); + taskCompletionSource.SetResult((bool)result); + }); + + BridgeConnector.Socket.Emit("autoUpdater-allowPrerelease-get"); + + return taskCompletionSource.Task; + }).Result; + } + set + { + BridgeConnector.Socket.Emit("autoUpdater-allowPrerelease-set", value); + } + } + + /// + /// *GitHub provider only.* + /// Get all release notes (from current version to latest), not just the latest (Default is false). + /// + public bool FullChangelog + { + get + { + return Task.Run(() => + { + var taskCompletionSource = new TaskCompletionSource(); + + BridgeConnector.Socket.On("autoUpdater-fullChangelog-get-reply", (result) => + { + BridgeConnector.Socket.Off("autoUpdater-fullChangelog-get-reply"); + taskCompletionSource.SetResult((bool)result); + }); + + BridgeConnector.Socket.Emit("autoUpdater-fullChangelog-get"); + + return taskCompletionSource.Task; + }).Result; + } + set + { + BridgeConnector.Socket.Emit("autoUpdater-fullChangelog-set", value); + } + } + + /// + /// Whether to allow version downgrade (when a user from the beta channel wants to go back to the stable channel). + /// Taken in account only if channel differs (pre-release version component in terms of semantic versioning). + /// Default is false. + /// + public bool AllowDowngrade + { + get + { + return Task.Run(() => + { + var taskCompletionSource = new TaskCompletionSource(); + + BridgeConnector.Socket.On("autoUpdater-allowDowngrade-get-reply", (result) => + { + BridgeConnector.Socket.Off("autoUpdater-allowDowngrade-get-reply"); + taskCompletionSource.SetResult((bool)result); + }); + + BridgeConnector.Socket.Emit("autoUpdater-allowDowngrade-get"); + + return taskCompletionSource.Task; + }).Result; + } + set + { + BridgeConnector.Socket.Emit("autoUpdater-allowDowngrade-set", value); + } + } + + /// + /// For test only. + /// + public string UpdateConfigPath + { + get + { + return Task.Run(() => + { + var taskCompletionSource = new TaskCompletionSource(); + + BridgeConnector.Socket.On("autoUpdater-updateConfigPath-get-reply", (result) => + { + BridgeConnector.Socket.Off("autoUpdater-updateConfigPath-get-reply"); + taskCompletionSource.SetResult(result.ToString()); + }); + + BridgeConnector.Socket.Emit("autoUpdater-updateConfigPath-get"); + + return taskCompletionSource.Task; + }).Result; + } + } + + /// + /// Get the update channel. Not applicable for GitHub. + /// Doesn’t return channel from the update configuration, only if was previously set. + /// + public string Channel + { + get + { + return Task.Run(() => + { + var taskCompletionSource = new TaskCompletionSource(); + + BridgeConnector.Socket.On("autoUpdater-channel-get-reply", (result) => + { + BridgeConnector.Socket.Off("autoUpdater-channel-get-reply"); + taskCompletionSource.SetResult(result.ToString()); + }); + + BridgeConnector.Socket.Emit("autoUpdater-channel-get"); + + return taskCompletionSource.Task; + }).Result; + } + } + /// /// Emitted when there is an error while updating. /// @@ -264,5 +461,45 @@ namespace ElectronNET.API { BridgeConnector.Socket.Emit("autoUpdaterQuitAndInstall", isSilent, isForceRunAfter); } + + /// + /// Start downloading update manually. You can use this method if "AutoDownload" option is set to "false". + /// + /// Path to downloaded file. + public Task DownloadUpdateAsync() + { + var taskCompletionSource = new TaskCompletionSource(); + string guid = Guid.NewGuid().ToString(); + + BridgeConnector.Socket.On("autoUpdaterDownloadUpdateComplete" + guid, (downloadedPath) => + { + BridgeConnector.Socket.Off("autoUpdaterDownloadUpdateComplete" + guid); + taskCompletionSource.SetResult(downloadedPath.ToString()); + }); + + BridgeConnector.Socket.Emit("autoUpdaterDownloadUpdate", guid); + + return taskCompletionSource.Task; + } + + /// + /// Feed URL. + /// + /// Feed URL. + public Task GetFeedURLAsync() + { + var taskCompletionSource = new TaskCompletionSource(); + string guid = Guid.NewGuid().ToString(); + + BridgeConnector.Socket.On("autoUpdaterGetFeedURLComplete" + guid, (downloadedPath) => + { + BridgeConnector.Socket.Off("autoUpdaterGetFeedURLComplete" + guid); + taskCompletionSource.SetResult(downloadedPath.ToString()); + }); + + BridgeConnector.Socket.Emit("autoUpdaterGetFeedURL", guid); + + return taskCompletionSource.Task; + } } } diff --git a/ElectronNET.Host/api/autoUpdater.js b/ElectronNET.Host/api/autoUpdater.js index e44e791..6d478e5 100644 --- a/ElectronNET.Host/api/autoUpdater.js +++ b/ElectronNET.Host/api/autoUpdater.js @@ -43,6 +43,49 @@ module.exports = (socket) => { electronSocket.emit('autoUpdater-update-downloaded' + id, updateInfo); }); }); + // Properties ***** + socket.on('autoUpdater-autoDownload-get', () => { + electronSocket.emit('autoUpdater-autoDownload-get-reply', electron_updater_1.autoUpdater.autoDownload); + }); + socket.on('autoUpdater-autoDownload-set', (value) => { + electron_updater_1.autoUpdater.autoDownload = value; + }); + socket.on('autoUpdater-autoInstallOnAppQuit-get', () => { + electronSocket.emit('autoUpdater-autoInstallOnAppQuit-get-reply', electron_updater_1.autoUpdater.autoInstallOnAppQuit); + }); + socket.on('autoUpdater-autoInstallOnAppQuit-set', (value) => { + electron_updater_1.autoUpdater.autoInstallOnAppQuit = value; + }); + socket.on('autoUpdater-allowPrerelease-get', () => { + electronSocket.emit('autoUpdater-allowPrerelease-get-reply', electron_updater_1.autoUpdater.allowPrerelease); + }); + socket.on('autoUpdater-allowPrerelease-set', (value) => { + electron_updater_1.autoUpdater.allowPrerelease = value; + }); + socket.on('autoUpdater-fullChangelog-get', () => { + electronSocket.emit('autoUpdater-fullChangelog-get-reply', electron_updater_1.autoUpdater.fullChangelog); + }); + socket.on('autoUpdater-fullChangelog-set', (value) => { + electron_updater_1.autoUpdater.fullChangelog = value; + }); + socket.on('autoUpdater-allowDowngrade-get', () => { + electronSocket.emit('autoUpdater-allowDowngrade-get-reply', electron_updater_1.autoUpdater.allowDowngrade); + }); + socket.on('autoUpdater-allowDowngrade-set', (value) => { + electron_updater_1.autoUpdater.allowDowngrade = value; + }); + socket.on('autoUpdater-updateConfigPath-get', () => { + electronSocket.emit('autoUpdater-updateConfigPath-get-reply', electron_updater_1.autoUpdater.updateConfigPath || ''); + }); + socket.on('autoUpdater-updateConfigPath-set', (value) => { + electron_updater_1.autoUpdater.updateConfigPath = value; + }); + socket.on('autoUpdater-channel-get', () => { + electronSocket.emit('autoUpdater-channel-get-reply', electron_updater_1.autoUpdater.channel || ''); + }); + socket.on('autoUpdater-channel-set', (value) => { + electron_updater_1.autoUpdater.channel = value; + }); // Methods ******** socket.on('autoUpdaterCheckForUpdatesAndNotify', (guid) => __awaiter(this, void 0, void 0, function* () { const updateCheckResult = yield electron_updater_1.autoUpdater.checkForUpdatesAndNotify(); @@ -56,5 +99,13 @@ module.exports = (socket) => { socket.on('autoUpdaterQuitAndInstall', (isSilent, isForceRunAfter) => __awaiter(this, void 0, void 0, function* () { electron_updater_1.autoUpdater.quitAndInstall(isSilent, isForceRunAfter); })); + socket.on('autoUpdaterDownloadUpdate', (guid) => __awaiter(this, void 0, void 0, function* () { + const downloadedPath = yield electron_updater_1.autoUpdater.downloadUpdate(); + electronSocket.emit('autoUpdaterDownloadUpdateComplete' + guid, downloadedPath); + })); + socket.on('autoUpdaterGetFeedURL', (guid) => __awaiter(this, void 0, void 0, function* () { + const feedUrl = yield electron_updater_1.autoUpdater.getFeedURL(); + electronSocket.emit('autoUpdaterGetFeedURLComplete' + guid, feedUrl || ''); + })); }; //# sourceMappingURL=autoUpdater.js.map \ No newline at end of file diff --git a/ElectronNET.Host/api/autoUpdater.js.map b/ElectronNET.Host/api/autoUpdater.js.map index ba92a20..8c54771 100644 --- a/ElectronNET.Host/api/autoUpdater.js.map +++ b/ElectronNET.Host/api/autoUpdater.js.map @@ -1 +1 @@ -{"version":3,"file":"autoUpdater.js","sourceRoot":"","sources":["autoUpdater.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"autoUpdater.js","sourceRoot":"","sources":["autoUpdater.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uDAA+C;AAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,IAAI,cAAc,CAAC;AAEnB,iBAAS,CAAC,MAAuB,EAAE,EAAE;IACjC,cAAc,GAAG,MAAM,CAAC;IAExB,kBAAkB;IAElB,MAAM,CAAC,EAAE,CAAC,kCAAkC,EAAE,CAAC,EAAE,EAAE,EAAE;QACjD,8BAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC9B,cAAc,CAAC,IAAI,CAAC,mBAAmB,GAAG,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,gDAAgD,EAAE,CAAC,EAAE,EAAE,EAAE;QAC/D,8BAAW,CAAC,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;YACvC,cAAc,CAAC,IAAI,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,6CAA6C,EAAE,CAAC,EAAE,EAAE,EAAE;QAC5D,8BAAW,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,UAAU,EAAE,EAAE;YAC9C,cAAc,CAAC,IAAI,CAAC,8BAA8B,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,iDAAiD,EAAE,CAAC,EAAE,EAAE,EAAE;QAChE,8BAAW,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,UAAU,EAAE,EAAE;YAClD,cAAc,CAAC,IAAI,CAAC,kCAAkC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,8CAA8C,EAAE,CAAC,EAAE,EAAE,EAAE;QAC7D,8BAAW,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,YAAY,EAAE,EAAE;YACjD,cAAc,CAAC,IAAI,CAAC,+BAA+B,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,8CAA8C,EAAE,CAAC,EAAE,EAAE,EAAE;QAC7D,8BAAW,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,UAAU,EAAE,EAAE;YAC/C,cAAc,CAAC,IAAI,CAAC,+BAA+B,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,mBAAmB;IAEnB,MAAM,CAAC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC3C,cAAc,CAAC,IAAI,CAAC,oCAAoC,EAAE,8BAAW,CAAC,YAAY,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,8BAA8B,EAAE,CAAC,KAAK,EAAE,EAAE;QAChD,8BAAW,CAAC,YAAY,GAAG,KAAK,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QACnD,cAAc,CAAC,IAAI,CAAC,4CAA4C,EAAE,8BAAW,CAAC,oBAAoB,CAAC,CAAC;IACxG,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,sCAAsC,EAAE,CAAC,KAAK,EAAE,EAAE;QACxD,8BAAW,CAAC,oBAAoB,GAAG,KAAK,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC9C,cAAc,CAAC,IAAI,CAAC,uCAAuC,EAAE,8BAAW,CAAC,eAAe,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,iCAAiC,EAAE,CAAC,KAAK,EAAE,EAAE;QACnD,8BAAW,CAAC,eAAe,GAAG,KAAK,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC5C,cAAc,CAAC,IAAI,CAAC,qCAAqC,EAAE,8BAAW,CAAC,aAAa,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,+BAA+B,EAAE,CAAC,KAAK,EAAE,EAAE;QACjD,8BAAW,CAAC,aAAa,GAAG,KAAK,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC7C,cAAc,CAAC,IAAI,CAAC,sCAAsC,EAAE,8BAAW,CAAC,cAAc,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,gCAAgC,EAAE,CAAC,KAAK,EAAE,EAAE;QAClD,8BAAW,CAAC,cAAc,GAAG,KAAK,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC/C,cAAc,CAAC,IAAI,CAAC,wCAAwC,EAAE,8BAAW,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;IACtG,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,kCAAkC,EAAE,CAAC,KAAK,EAAE,EAAE;QACpD,8BAAW,CAAC,gBAAgB,GAAG,KAAK,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACtC,cAAc,CAAC,IAAI,CAAC,+BAA+B,EAAE,8BAAW,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,yBAAyB,EAAE,CAAC,KAAK,EAAE,EAAE;QAC3C,8BAAW,CAAC,OAAO,GAAG,KAAK,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,mBAAmB;IAEnB,MAAM,CAAC,EAAE,CAAC,qCAAqC,EAAE,CAAO,IAAI,EAAE,EAAE;QAC5D,MAAM,iBAAiB,GAAG,MAAM,8BAAW,CAAC,wBAAwB,EAAE,CAAC;QACvE,cAAc,CAAC,IAAI,CAAC,6CAA6C,GAAG,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACjG,CAAC,CAAA,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,4BAA4B,EAAE,CAAO,IAAI,EAAE,EAAE;QACnD,6EAA6E;QAC7E,MAAM,iBAAiB,GAAG,MAAM,8BAAW,CAAC,eAAe,EAAE,CAAC;QAC9D,cAAc,CAAC,IAAI,CAAC,oCAAoC,GAAG,IAAI,EAAE,iBAAiB,CAAC,CAAC;IACxF,CAAC,CAAA,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,2BAA2B,EAAE,CAAO,QAAQ,EAAE,eAAe,EAAE,EAAE;QACvE,8BAAW,CAAC,cAAc,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC1D,CAAC,CAAA,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,2BAA2B,EAAE,CAAO,IAAI,EAAE,EAAE;QAClD,MAAM,cAAc,GAAG,MAAM,8BAAW,CAAC,cAAc,EAAE,CAAC;QAC1D,cAAc,CAAC,IAAI,CAAC,mCAAmC,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC;IACpF,CAAC,CAAA,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,uBAAuB,EAAE,CAAO,IAAI,EAAE,EAAE;QAC9C,MAAM,OAAO,GAAG,MAAM,8BAAW,CAAC,UAAU,EAAE,CAAC;QAC/C,cAAc,CAAC,IAAI,CAAC,+BAA+B,GAAG,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAA,CAAC,CAAC;AACP,CAAC,CAAC"} \ No newline at end of file diff --git a/ElectronNET.Host/api/autoUpdater.ts b/ElectronNET.Host/api/autoUpdater.ts index 3e99dc7..f5493e0 100644 --- a/ElectronNET.Host/api/autoUpdater.ts +++ b/ElectronNET.Host/api/autoUpdater.ts @@ -43,6 +43,64 @@ export = (socket: SocketIO.Socket) => { }); }); + // Properties ***** + + socket.on('autoUpdater-autoDownload-get', () => { + electronSocket.emit('autoUpdater-autoDownload-get-reply', autoUpdater.autoDownload); + }); + + socket.on('autoUpdater-autoDownload-set', (value) => { + autoUpdater.autoDownload = value; + }); + + socket.on('autoUpdater-autoInstallOnAppQuit-get', () => { + electronSocket.emit('autoUpdater-autoInstallOnAppQuit-get-reply', autoUpdater.autoInstallOnAppQuit); + }); + + socket.on('autoUpdater-autoInstallOnAppQuit-set', (value) => { + autoUpdater.autoInstallOnAppQuit = value; + }); + + socket.on('autoUpdater-allowPrerelease-get', () => { + electronSocket.emit('autoUpdater-allowPrerelease-get-reply', autoUpdater.allowPrerelease); + }); + + socket.on('autoUpdater-allowPrerelease-set', (value) => { + autoUpdater.allowPrerelease = value; + }); + + socket.on('autoUpdater-fullChangelog-get', () => { + electronSocket.emit('autoUpdater-fullChangelog-get-reply', autoUpdater.fullChangelog); + }); + + socket.on('autoUpdater-fullChangelog-set', (value) => { + autoUpdater.fullChangelog = value; + }); + + socket.on('autoUpdater-allowDowngrade-get', () => { + electronSocket.emit('autoUpdater-allowDowngrade-get-reply', autoUpdater.allowDowngrade); + }); + + socket.on('autoUpdater-allowDowngrade-set', (value) => { + autoUpdater.allowDowngrade = value; + }); + + socket.on('autoUpdater-updateConfigPath-get', () => { + electronSocket.emit('autoUpdater-updateConfigPath-get-reply', autoUpdater.updateConfigPath || ''); + }); + + socket.on('autoUpdater-updateConfigPath-set', (value) => { + autoUpdater.updateConfigPath = value; + }); + + socket.on('autoUpdater-channel-get', () => { + electronSocket.emit('autoUpdater-channel-get-reply', autoUpdater.channel || ''); + }); + + socket.on('autoUpdater-channel-set', (value) => { + autoUpdater.channel = value; + }); + // Methods ******** socket.on('autoUpdaterCheckForUpdatesAndNotify', async (guid) => { @@ -59,4 +117,14 @@ export = (socket: SocketIO.Socket) => { socket.on('autoUpdaterQuitAndInstall', async (isSilent, isForceRunAfter) => { autoUpdater.quitAndInstall(isSilent, isForceRunAfter); }); + + socket.on('autoUpdaterDownloadUpdate', async (guid) => { + const downloadedPath = await autoUpdater.downloadUpdate(); + electronSocket.emit('autoUpdaterDownloadUpdateComplete' + guid, downloadedPath); + }); + + socket.on('autoUpdaterGetFeedURL', async (guid) => { + const feedUrl = await autoUpdater.getFeedURL(); + electronSocket.emit('autoUpdaterGetFeedURLComplete' + guid, feedUrl || ''); + }); };