diff --git a/src/main/dialogs/extension-popup.ts b/src/main/dialogs/extension-popup.ts
index 2da92b912..b3c76ba04 100644
--- a/src/main/dialogs/extension-popup.ts
+++ b/src/main/dialogs/extension-popup.ts
@@ -19,7 +19,7 @@ export class ExtensionPopup extends Dialog {
bounds: {
width: 512,
height: 512,
- y: 34,
+ y: 30,
},
devtools: false,
webPreferences: {
diff --git a/src/main/services/auto-updater.ts b/src/main/services/auto-updater.ts
index 00633f4a9..bf6e74007 100644
--- a/src/main/services/auto-updater.ts
+++ b/src/main/services/auto-updater.ts
@@ -3,17 +3,28 @@ import { ipcMain } from 'electron';
import { WindowsManager } from '../windows-manager';
export const runAutoUpdaterService = (windowsManager: WindowsManager) => {
- ipcMain.on('update-install', () => {
- autoUpdater.quitAndInstall();
+ let updateAvailable = false;
+
+ ipcMain.on('install-update', () => {
+ if (process.env.NODE_ENV !== 'development') {
+ autoUpdater.quitAndInstall(true, true);
+ }
+ });
+
+ ipcMain.handle('is-update-available', () => {
+ return updateAvailable;
});
ipcMain.on('update-check', () => {
autoUpdater.checkForUpdates();
});
- autoUpdater.on('update-downloaded', ({ version }) => {
+ autoUpdater.on('update-downloaded', () => {
+ updateAvailable = true;
+
for (const window of windowsManager.list) {
- window.webContents.send('update-available', version);
+ window.webContents.send('update-available');
+ window.dialogs.menuDialog.webContents.send('update-available');
}
});
};
diff --git a/src/renderer/views/app/components/Toolbar/index.tsx b/src/renderer/views/app/components/Toolbar/index.tsx
index 1e6abfebf..5f8cbcbb5 100644
--- a/src/renderer/views/app/components/Toolbar/index.tsx
+++ b/src/renderer/views/app/components/Toolbar/index.tsx
@@ -146,7 +146,14 @@ const RightButtons = observer(() => {
)}
{store.isIncognito && }
-
+
);
});
diff --git a/src/renderer/views/app/store/index.ts b/src/renderer/views/app/store/index.ts
index 8043ec395..8c8f5bf05 100644
--- a/src/renderer/views/app/store/index.ts
+++ b/src/renderer/views/app/store/index.ts
@@ -6,7 +6,6 @@ import { AddTabStore } from './add-tab';
import { ipcRenderer } from 'electron';
import { ExtensionsStore } from './extensions';
import { SettingsStore } from './settings';
-import { extensionsRenderer } from 'electron-extensions/renderer';
import { getCurrentWindow } from '../utils/windows';
import { StartupTabsStore } from './startup-tabs';
import { getTheme } from '~/utils/themes';
@@ -39,10 +38,7 @@ export class Store {
public isHTMLFullscreen = false;
@observable
- public updateInfo = {
- available: false,
- version: '',
- };
+ public updateAvailable = false;
@observable
public navigationState = {
@@ -104,9 +100,8 @@ export class Store {
this.isHTMLFullscreen = fullscreen;
});
- ipcRenderer.on('update-available', (e, version: string) => {
- this.updateInfo.version = version;
- this.updateInfo.available = true;
+ ipcRenderer.on('update-available', () => {
+ this.updateAvailable = true;
});
ipcRenderer.on('download-started', (e, item) => {
diff --git a/src/renderer/views/menu/components/QuickMenu/index.tsx b/src/renderer/views/menu/components/QuickMenu/index.tsx
index 1240d9a6a..5d281b672 100644
--- a/src/renderer/views/menu/components/QuickMenu/index.tsx
+++ b/src/renderer/views/menu/components/QuickMenu/index.tsx
@@ -62,6 +62,10 @@ const goToWebUIPage = (name: string) => () => {
store.hide();
};
+const onUpdateClick = () => {
+ ipcRenderer.send('install-update');
+};
+
export const QuickMenu = observer(() => {
return (
{
>
+ {store.updateAvailable && (
+ <>
+
+
+ >
+ )}