From a47b8b3cd967e335319bc36f55af4d020366d3b7 Mon Sep 17 00:00:00 2001 From: Cheerego7 <48879533+Cheerego7@users.noreply.github.com> Date: Wed, 2 Jun 2021 12:46:16 +0800 Subject: [PATCH] fix(pages): check update new version when click homePage component every time. (#694) --- .../renderer-app/src/pages/HomePage/index.tsx | 37 ++++++++++++------- .../renderer-app/src/stores/GlobalStore.ts | 5 +++ 2 files changed, 28 insertions(+), 14 deletions(-) diff --git a/desktop/renderer-app/src/pages/HomePage/index.tsx b/desktop/renderer-app/src/pages/HomePage/index.tsx index 2f1e131020a..c058dbfd45b 100644 --- a/desktop/renderer-app/src/pages/HomePage/index.tsx +++ b/desktop/renderer-app/src/pages/HomePage/index.tsx @@ -13,6 +13,8 @@ import { MainPageLayoutContainer } from "../../components/MainPageLayoutContaine import { AppUpgradeModal } from "../../components/AppUpgradeModal"; import { useSafePromise } from "../../utils/hooks/lifecycle"; import { runtime } from "../../utils/runtime"; +import { globalStore } from "../../stores/GlobalStore"; +import { differenceInHours } from "date-fns"; export type HomePageProps = {}; @@ -29,21 +31,28 @@ export const HomePage = observer(function HomePage() { }, [lastLocation]); useEffect(() => { - sp(ipcSyncByApp("get-update-info")) - .then(data => { - console.log("[Auto Updater]: Get Update Info"); - if (data.hasNewVersion) { - console.log( - `[Auto Updater]: Remote Version "${data.version}", Local Version "${runtime.appVersion}"`, - ); - if (data.version !== runtime.appVersion) { - setNewVersion(data.version); + // check for updates only here + const checkUpdateVisible = + differenceInHours(new Date().getTime(), globalStore.checkNewVersionDate) >= 1; + + if (checkUpdateVisible) { + sp(ipcSyncByApp("get-update-info")) + .then(data => { + console.log("[Auto Updater]: Get Update Info"); + if (data.hasNewVersion) { + console.log( + `[Auto Updater]: Remote Version "${data.version}", Local Version "${runtime.appVersion}"`, + ); + if (data.version !== runtime.appVersion) { + setNewVersion(data.version); + } } - } - }) - .catch(err => { - console.error("ipc failed", err); - }); + }) + .catch(err => { + console.error("ipc failed", err); + }); + globalStore.updateCheckNewVersionDate(); + } }, [sp]); return ( diff --git a/desktop/renderer-app/src/stores/GlobalStore.ts b/desktop/renderer-app/src/stores/GlobalStore.ts index 285de88783b..bac835dc726 100644 --- a/desktop/renderer-app/src/stores/GlobalStore.ts +++ b/desktop/renderer-app/src/stores/GlobalStore.ts @@ -14,6 +14,7 @@ export class GlobalStore { * Show tooltips for classroom record hints. * Hide it permanently if user close the tooltip. */ + public checkNewVersionDate: number = new Date().getTime(); public isShowRecordHintTips = true; public userInfo: UserInfo | null = null; public whiteboardRoomUUID: string | null = null; @@ -61,6 +62,10 @@ export class GlobalStore { } }; + public updateCheckNewVersionDate = (): void => { + this.checkNewVersionDate = new Date().getTime(); + }; + public hideRecordHintTips = (): void => { this.isShowRecordHintTips = false; };