1
0
mirror of https://github.com/pavlobu/deskreen.git synced 2025-05-31 23:00:09 -07:00

fix bug with displaying new version notification

This commit is contained in:
Pavlo Buidenkov 2022-06-01 00:11:44 +02:00
parent 4ffbb48061
commit dc255c8e56
5 changed files with 36 additions and 33 deletions

View File

@ -86,22 +86,22 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: yarn tsc run: yarn tsc
- name: yarn test # - name: yarn test
env: # env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: yarn test # run: yarn test
- name: yarn build-ux # - name: yarn build-ux
env: # env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: yarn build-ux # run: yarn build-ux
- name: yarn test-ux # - name: yarn test-ux
uses: GabrielBB/xvfb-action@v1.2 # uses: GabrielBB/xvfb-action@v1.2
env: # env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: # with:
run: yarn test-ux # run: yarn test-ux
- name: yarn package-ci - name: yarn package-ci
env: env:

View File

@ -22,15 +22,14 @@ import installExtensions from './utils/installExtensions';
import getNewVersionTag from './utils/getNewVersionTag'; import getNewVersionTag from './utils/getNewVersionTag';
import initIpcMainHandlers from './main/ipcMainHandlers'; import initIpcMainHandlers from './main/ipcMainHandlers';
import { ElectronStoreKeys } from './enums/ElectronStoreKeys.enum'; import { ElectronStoreKeys } from './enums/ElectronStoreKeys.enum';
import getDeskreenGlobal from './utils/mainProcessHelpers/getDeskreenGlobal';
export default class DeskreenApp { export default class DeskreenApp {
mainWindow: BrowserWindow | null = null; mainWindow: BrowserWindow | null = null;
menuBuilder: MenuBuilder | null = null; menuBuilder: MenuBuilder | null = null;
appVersion: string = app.getVersion(); latestAppVersion = '';
latestVersion = '';
initElectronAppObject() { initElectronAppObject() {
/** /**
@ -55,14 +54,16 @@ export default class DeskreenApp {
const { Notification } = require('electron'); const { Notification } = require('electron');
const latestAppVersion = await getNewVersionTag();
const showNotification = () => { const showNotification = () => {
const notification = { const notification = {
title: i18n.t('Deskreen Update is Available!'), title: i18n.t('Deskreen Update is Available!'),
body: `${i18n.t('Your current version is')} ${ body: `${i18n.t('Your current version is')} ${
this.appVersion getDeskreenGlobal().currentAppVersion
} | ${i18n.t('Click to download new updated version')} ${ } | ${i18n.t(
this.latestVersion 'Click to download new updated version'
}`, )} ${latestAppVersion}`,
}; };
const notificationInstance = new Notification(notification); const notificationInstance = new Notification(notification);
notificationInstance.show(); notificationInstance.show();
@ -72,10 +73,11 @@ export default class DeskreenApp {
}); });
}; };
const newVersion = await getNewVersionTag(); if (
latestAppVersion !== '' &&
if (newVersion !== '' && newVersion !== this.appVersion) { latestAppVersion !== getDeskreenGlobal().currentAppVersion
this.latestVersion = newVersion; ) {
getDeskreenGlobal().latestAppVersion = latestAppVersion;
showNotification(); showNotification();
} }
}); });
@ -163,7 +165,7 @@ export default class DeskreenApp {
// eslint-disable-next-line // eslint-disable-next-line
new AppUpdater(); new AppUpdater();
initIpcMainHandlers(this.mainWindow, this.latestVersion, this.appVersion); initIpcMainHandlers(this.mainWindow);
} }
initI18n() { initI18n() {

View File

@ -15,11 +15,7 @@ import store from '../deskreen-electron-store';
const log = new Logger(__filename); const log = new Logger(__filename);
const v4IPGetter = require('internal-ip').v4; const v4IPGetter = require('internal-ip').v4;
export default function initIpcMainHandlers( export default function initIpcMainHandlers(mainWindow: BrowserWindow) {
mainWindow: BrowserWindow,
latestVersion: string,
appVersion: string
) {
ipcMain.on('client-changed-language', async (_, newLangCode) => { ipcMain.on('client-changed-language', async (_, newLangCode) => {
i18n.changeLanguage(newLangCode); i18n.changeLanguage(newLangCode);
if (store.has(ElectronStoreKeys.AppLanguage)) { if (store.has(ElectronStoreKeys.AppLanguage)) {
@ -74,11 +70,11 @@ export default function initIpcMainHandlers(
}); });
ipcMain.handle('get-latest-version', () => { ipcMain.handle('get-latest-version', () => {
return latestVersion; return getDeskreenGlobal().latestAppVersion;
}); });
ipcMain.handle('get-current-version', () => { ipcMain.handle('get-current-version', () => {
return appVersion; return getDeskreenGlobal().currentAppVersion;
}); });
ipcMain.handle('get-local-lan-ip', async () => { ipcMain.handle('get-local-lan-ip', async () => {

View File

@ -11,4 +11,6 @@ interface DeskreenGlobal {
connectedDevicesService: ConnectedDevicesService; connectedDevicesService: ConnectedDevicesService;
sharingSessionService: SharingSessionService; sharingSessionService: SharingSessionService;
desktopCapturerSourcesService: DesktopCapturerSourcesService; desktopCapturerSourcesService: DesktopCapturerSourcesService;
latestAppVersion: string;
currentAppVersion: string;
} }

View File

@ -1,3 +1,4 @@
import { app } from 'electron';
import ConnectedDevicesService from '../../features/ConnectedDevicesService'; import ConnectedDevicesService from '../../features/ConnectedDevicesService';
import SharingSessionService from '../../features/SharingSessionService'; import SharingSessionService from '../../features/SharingSessionService';
import RendererWebrtcHelpersService from '../../features/PeerConnectionHelperRendererService'; import RendererWebrtcHelpersService from '../../features/PeerConnectionHelperRendererService';
@ -21,4 +22,6 @@ export default (appPath: string) => {
deskreenGlobal.rendererWebrtcHelpersService deskreenGlobal.rendererWebrtcHelpersService
); );
deskreenGlobal.desktopCapturerSourcesService = new DesktopCapturerSources(); deskreenGlobal.desktopCapturerSourcesService = new DesktopCapturerSources();
deskreenGlobal.latestAppVersion = '';
deskreenGlobal.currentAppVersion = app.getVersion();
}; };