Skip to content

Commit 8539c61

Browse files
authored
feat: auto update progress and cancelled events (#1715)
* feat: auto update progress and cancelled events Signed-off-by: Adam Setch <[email protected]> * feat: auto update progress and cancelled events Signed-off-by: Adam Setch <[email protected]> --------- Signed-off-by: Adam Setch <[email protected]>
1 parent b45dbd4 commit 8539c61

File tree

1 file changed

+32
-8
lines changed

1 file changed

+32
-8
lines changed

src/main/updater.ts

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,29 +21,53 @@ export default class Updater {
2121

2222
autoUpdater.on('checking-for-update', () => {
2323
logInfo('auto updater', 'Checking for update');
24-
this.menuBuilder.setCheckForUpdatesMenuEnabled(false);
25-
});
2624

27-
autoUpdater.on('error', (err) => {
28-
logError('auto updater', 'Error checking for update', err);
29-
this.menuBuilder.setCheckForUpdatesMenuEnabled(true);
25+
this.menuBuilder.setCheckForUpdatesMenuEnabled(false);
3026
});
3127

3228
autoUpdater.on('update-available', () => {
3329
logInfo('auto updater', 'New update available');
34-
menuBuilder.setUpdateAvailableMenuEnabled(true);
30+
3531
this.menubar.tray.setToolTip('Gitify\nA new update is available');
32+
menuBuilder.setUpdateAvailableMenuEnabled(true);
33+
});
34+
35+
autoUpdater.on('download-progress', (progressObj) => {
36+
this.menubar.tray.setToolTip(
37+
`Gitify\nDownloading update: ${progressObj.percent} %`,
38+
);
3639
});
3740

3841
autoUpdater.on('update-downloaded', () => {
3942
logInfo('auto updater', 'Update downloaded');
40-
menuBuilder.setUpdateReadyForInstallMenuEnabled(true);
43+
4144
this.menubar.tray.setToolTip('Gitify\nA new update is ready to install');
45+
menuBuilder.setUpdateReadyForInstallMenuEnabled(true);
4246
});
4347

4448
autoUpdater.on('update-not-available', () => {
4549
logInfo('auto updater', 'Update not available');
46-
this.menuBuilder.setCheckForUpdatesMenuEnabled(true);
50+
51+
this.resetState();
52+
});
53+
54+
autoUpdater.on('update-cancelled', () => {
55+
logInfo('auto updater', 'Update cancelled');
56+
57+
this.resetState();
58+
});
59+
60+
autoUpdater.on('error', (err) => {
61+
logError('auto updater', 'Error checking for update', err);
62+
63+
this.resetState();
4764
});
4865
}
66+
67+
private resetState() {
68+
this.menubar.tray.setToolTip('Gitify');
69+
this.menuBuilder.setCheckForUpdatesMenuEnabled(true);
70+
this.menuBuilder.setUpdateAvailableMenuEnabled(false);
71+
this.menuBuilder.setUpdateReadyForInstallMenuEnabled(false);
72+
}
4973
}

0 commit comments

Comments
 (0)