AppUpdate
An available application update.
import { AppUpdate } from '@mobrowser/api';
Example
import { app, AppUpdate } from '@mobrowser/api';
const result = await app.checkForUpdate('https://app.com/updates')
if (!result) {
// No update is available or do nothing.
} else if (typeof result === 'string') {
// An error occurred while checking for updates.
} else {
// An update is available.
const appUpdate: AppUpdate = result
console.log('Update available: ', appUpdate.version)
}
Properties
version
readonly version: string;
The version of the available update.
Example
import { app } from '@mobrowser/api';
const win = app.createWindow()
const appUpdate = await app.checkForUpdate('https://app.com/updates')
if (appUpdate && typeof appUpdate !== 'string') {
console.log('Update available: ', appUpdate.version)
}
Methods
download()
download(): Promise<AppUpdateDownloadResult>;
Downloads the application update.
To apply the update, you need to restart or quit the application.
On Windows, the method downloads and extracts the update inside the application directory (AppData\Local<AppName>\packages). The application directory (AppData\Local<AppName>\current) is updated after the restart or quit of the application.
On macOS, the method downloads and extracts the update to a temporary directory. The application bundle updates only after quit or restart.
This method does nothing if the application update is already downloaded or dismissed.
Example
import { app, AppUpdate, AppUpdateDownloadResult } from '@mobrowser/api';
const appUpdate = await app.checkForUpdate('https://app.com/updates')
if (appUpdate && typeof appUpdate !== 'string') {
const downloadResult = await appUpdate.download()
}
dismiss()
dismiss(): void;
Dismisses the application update if it is not needed.
This method does nothing if the application update is already downloaded or dismissed.
Example
import { app } from '@mobrowser/api';
const appUpdate = await app.checkForUpdate('https://app.com/updates')
if (appUpdate && typeof appUpdate !== 'string') {
console.log('Update available: ', appUpdate.version)
if (isPatchUpdate(appUpdate.version, app.version)) {
console.log('Dismissing patch update')
appUpdate.dismiss()
}
}
Events
‘progressChanged’
on(event: 'progressChanged', listener: (progress: number) => void): void;
off(event: 'progressChanged', listener: (progress: number) => void): void;
Emitted when the application update progress is changed.
Example
appUpdate.on('progressChanged', (progress) => {
console.log(`Download: ${progress}%`)
})
const downloadResult = await appUpdate.download()