mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-06 20:10:12 +02:00
feat: Add DISABLE_AUTO_UPDATES env variable for disabling updates in the application entirely (#1446)
This commit is contained in:
+2
-1
@@ -30,6 +30,7 @@ import MenuBuilder from './menu';
|
||||
import {
|
||||
autoUpdaterLogInterface,
|
||||
createLog,
|
||||
disableAutoUpdates,
|
||||
hotkeyToElectronAccelerator,
|
||||
isLinux,
|
||||
isMacOS,
|
||||
@@ -456,7 +457,7 @@ async function createWindow(first = true): Promise<void> {
|
||||
return { action: 'deny' };
|
||||
});
|
||||
|
||||
if (store.get('disable_auto_updates') !== true) {
|
||||
if (!disableAutoUpdates() && store.get('disable_auto_updates') !== true) {
|
||||
new AppUpdater();
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,10 @@ if (process.env.NODE_ENV === 'development') {
|
||||
};
|
||||
}
|
||||
|
||||
export const disableAutoUpdates = () => {
|
||||
return process.env['DISABLE_AUTO_UPDATES'];
|
||||
};
|
||||
|
||||
export const isMacOS = () => {
|
||||
return process.platform === 'darwin';
|
||||
};
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { ipcRenderer, IpcRendererEvent } from 'electron';
|
||||
|
||||
import { isLinux, isMacOS, isWindows } from '../main/utils';
|
||||
import { disableAutoUpdates, isLinux, isMacOS, isWindows } from '../main/utils';
|
||||
|
||||
const openItem = async (path: string) => {
|
||||
return ipcRenderer.invoke('open-item', path);
|
||||
@@ -40,6 +40,7 @@ const download = (url: string) => {
|
||||
};
|
||||
|
||||
export const utils = {
|
||||
disableAutoUpdates,
|
||||
download,
|
||||
isLinux,
|
||||
isMacOS,
|
||||
|
||||
@@ -10,6 +10,11 @@ import { Select } from '/@/shared/components/select/select';
|
||||
import { Switch } from '/@/shared/components/switch/switch';
|
||||
|
||||
const localSettings = isElectron() ? window.api.localSettings : null;
|
||||
const utils = isElectron() ? window.api.utils : null;
|
||||
|
||||
function disableAutoUpdates(): boolean {
|
||||
return !isElectron() || utils?.disableAutoUpdates();
|
||||
}
|
||||
|
||||
export const UpdateSettings = () => {
|
||||
const { t } = useTranslation();
|
||||
@@ -55,7 +60,7 @@ export const UpdateSettings = () => {
|
||||
context: 'description',
|
||||
postProcess: 'sentenceCase',
|
||||
}),
|
||||
isHidden: !isElectron(),
|
||||
isHidden: disableAutoUpdates(),
|
||||
title: t('setting.releaseChannel', { postProcess: 'sentenceCase' }),
|
||||
},
|
||||
{
|
||||
@@ -63,7 +68,7 @@ export const UpdateSettings = () => {
|
||||
<Switch
|
||||
aria-label="Disable automatic updates"
|
||||
defaultChecked={settings.disableAutoUpdate}
|
||||
disabled={!isElectron()}
|
||||
disabled={disableAutoUpdates()}
|
||||
onChange={(e) => {
|
||||
if (!e) return;
|
||||
localSettings?.set('disable_auto_updates', e.currentTarget.checked);
|
||||
@@ -80,7 +85,7 @@ export const UpdateSettings = () => {
|
||||
context: 'description',
|
||||
postProcess: 'sentenceCase',
|
||||
}),
|
||||
isHidden: !isElectron(),
|
||||
isHidden: disableAutoUpdates(),
|
||||
title: t('setting.disableAutomaticUpdates', { postProcess: 'sentenceCase' }),
|
||||
},
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user