Merge branch 'main' into release

This commit is contained in:
Abhinav 2023-01-21 11:45:53 +05:30
commit 69eb416c0f
9 changed files with 52 additions and 18 deletions

View file

@ -24,6 +24,10 @@ export const updateAndRestart = () => {
ipcRenderer.send('update-and-restart');
};
export const skipAppVersion = (version: string) => {
ipcRenderer.send('skip-app-version', version);
export const skipAppUpdate = (version: string) => {
ipcRenderer.send('skip-app-update', version);
};
export const muteUpdateNotification = (version: string) => {
ipcRenderer.send('mute-update-notification', version);
};

View file

@ -4,7 +4,8 @@ import {
sendNotification,
showOnTray,
updateAndRestart,
skipAppVersion,
skipAppUpdate,
muteUpdateNotification,
} from './api/system';
import {
showUploadDirsDialog,
@ -103,10 +104,11 @@ windowObject['ElectronAPIs'] = {
openLogDirectory,
registerUpdateEventListener,
updateAndRestart,
skipAppVersion,
skipAppUpdate,
getSentryUserID,
getAppVersion,
runFFmpegCmd,
muteUpdateNotification,
generateImageThumbnail,
logRendererProcessMemoryUsage,
};

View file

@ -4,20 +4,30 @@ import log from 'electron-log';
import { setIsAppQuitting, setIsUpdateAvailable } from '../main';
import semVerCmp from 'semver-compare';
import { AppUpdateInfo, GetFeatureFlagResponse } from '../types';
import { getSkipAppVersion, setSkipAppVersion } from './userPreference';
import {
getSkipAppVersion,
setMuteUpdateNotificationVersion,
setSkipAppVersion,
} from './userPreference';
import fetch from 'node-fetch';
import { logErrorSentry } from './sentry';
import ElectronLog from 'electron-log';
import { isPlatform } from '../utils/main';
const FIVE_MIN_IN_MICROSECOND = 5 * 60 * 1000;
const ONE_DAY_IN_MICROSECOND = 1 * 24 * 60 * 60 * 1000;
export function setupAutoUpdater() {
export function setupAutoUpdater(mainWindow: BrowserWindow) {
autoUpdater.logger = log;
autoUpdater.autoDownload = false;
checkForUpdateAndNotify(mainWindow);
setInterval(
() => checkForUpdateAndNotify(mainWindow),
ONE_DAY_IN_MICROSECOND
);
}
export async function checkForUpdateAndNotify(mainWindow: BrowserWindow) {
async function checkForUpdateAndNotify(mainWindow: BrowserWindow) {
try {
log.debug('checkForUpdateAndNotify called');
const updateCheckResult = await autoUpdater.checkForUpdates();
@ -93,10 +103,14 @@ export function getAppVersion() {
return `v${app.getVersion()}`;
}
export function skipAppVersion(version: string) {
export function skipAppUpdate(version: string) {
setSkipAppVersion(version);
}
export function muteUpdateNotification(version: string) {
setMuteUpdateNotificationVersion(version);
}
async function getDesktopCutoffVersion() {
try {
const featureFlags = (

View file

@ -11,6 +11,15 @@ export function setHideDockIconPreference(shouldHideDockIcon: boolean) {
export function getSkipAppVersion() {
return userPreferencesStore.get('skipAppVersion');
}
export function setSkipAppVersion(version: string) {
userPreferencesStore.set('skipAppVersion', version);
}
export function getMuteUpdateNotificationVersion() {
return userPreferencesStore.get('muteUpdateNotificationVersion');
}
export function setMuteUpdateNotificationVersion(version: string) {
userPreferencesStore.set('muteUpdateNotificationVersion', version);
}

View file

@ -8,6 +8,9 @@ const userPreferencesSchema: Schema<UserPreferencesType> = {
skipAppVersion: {
type: 'string',
},
muteUpdateNotificationVersion: {
type: 'string',
},
};
export const userPreferencesStore = new Store({

View file

@ -57,6 +57,7 @@ export interface SafeStorageStoreType {
export interface UserPreferencesType {
hideDockIcon: boolean;
skipAppVersion: string;
muteUpdateNotificationVersion: string;
}
export interface AppUpdateInfo {

View file

@ -20,7 +20,8 @@ import {
} from '../services/imageProcessor';
import {
getAppVersion,
skipAppVersion,
muteUpdateNotification,
skipAppUpdate,
updateAndRestart,
} from '../services/appUpdater';
import { deleteTempFile, runFFmpegCmd } from '../services/ffmpeg';
@ -120,8 +121,12 @@ export default function setupIpcComs(
ipcMain.on('update-and-restart', () => {
updateAndRestart();
});
ipcMain.on('skip-app-version', (_, version) => {
skipAppVersion(version);
ipcMain.on('skip-app-update', (_, version) => {
skipAppUpdate(version);
});
ipcMain.on('mute-update-notification', (_, version) => {
muteUpdateNotification(version);
});
ipcMain.handle('get-sentry-id', () => {
return getSentryUserID();

View file

@ -8,17 +8,13 @@ import { isDev } from './common';
import { buildContextMenu, buildMenuBar } from './menu';
import autoLauncher from '../services/autoLauncher';
import { getHideDockIconPreference } from '../services/userPreference';
import {
checkForUpdateAndNotify,
setupAutoUpdater,
} from '../services/appUpdater';
import { setupAutoUpdater } from '../services/appUpdater';
import ElectronLog from 'electron-log';
import os from 'os';
export function handleUpdates(mainWindow: BrowserWindow) {
if (!isDev) {
setupAutoUpdater();
checkForUpdateAndNotify(mainWindow);
setupAutoUpdater(mainWindow);
}
}
export function setupTrayItem(mainWindow: BrowserWindow) {

2
ui

@ -1 +1 @@
Subproject commit 094f9d5fdbdcc7a89deeadc9141fccd23053de0f
Subproject commit 3a37be3e4f4c6372a6ffd1ec53b588e6a93649f0