diff --git a/src/vector/platform/ElectronPlatform.tsx b/src/vector/platform/ElectronPlatform.tsx index ae89dd711c..f8bd22fb60 100644 --- a/src/vector/platform/ElectronPlatform.tsx +++ b/src/vector/platform/ElectronPlatform.tsx @@ -42,6 +42,7 @@ import React from "react"; import {randomString} from "matrix-js-sdk/src/randomstring"; import {Action} from "matrix-react-sdk/src/dispatcher/actions"; import { ActionPayload } from "matrix-react-sdk/src/dispatcher/payloads"; +import { showToast as showUpdateToast } from "matrix-react-sdk/src/toasts/UpdateToast"; const ipcRenderer = window.ipcRenderer; const isMac = navigator.platform.toUpperCase().includes('MAC'); @@ -275,12 +276,7 @@ export default class ElectronPlatform extends VectorBasePlatform { } async onUpdateDownloaded(ev, updateInfo) { - dis.dispatch({ - action: 'new_version', - currentVersion: await this.getAppVersion(), - newVersion: updateInfo, - releaseNotes: updateInfo.releaseNotes, - }); + showUpdateToast(await this.getAppVersion(), updateInfo, updateInfo.releaseNotes); } getHumanReadableName(): string { diff --git a/src/vector/platform/WebPlatform.ts b/src/vector/platform/WebPlatform.ts index 1b0a6d6d4d..5544f999eb 100644 --- a/src/vector/platform/WebPlatform.ts +++ b/src/vector/platform/WebPlatform.ts @@ -21,6 +21,7 @@ import request from 'browser-request'; import dis from 'matrix-react-sdk/src/dispatcher/dispatcher'; import { _t } from 'matrix-react-sdk/src/languageHandler'; import {Room} from "matrix-js-sdk/src/models/room"; +import { showToast as showUpdateToast, hideToast as hideUpdateToast } from "matrix-react-sdk/src/toasts/UpdateToast"; import url from 'url'; import UAParser from 'ua-parser-js'; @@ -135,15 +136,17 @@ export default class WebPlatform extends VectorBasePlatform { return this._getVersion().then((ver) => { if (this.runningVersion === null) { this.runningVersion = ver; - } else if (this.runningVersion !== ver) { - dis.dispatch({ - action: 'new_version', - currentVersion: this.runningVersion, - newVersion: ver, - }); - // Return to skip a MatrixChat state update return; } + + if (this.runningVersion !== ver) { + showUpdateToast(this.runningVersion, ver); + // Return to skip a MatrixChat state update + return; + } else { + hideUpdateToast(); + } + return { status: updateCheckStatusEnum.NOTAVAILABLE }; }, (err) => { console.error("Failed to poll for update", err);