Allow pre-releases if own version is a beta
This commit is contained in:
@@ -38,6 +38,7 @@ interface GithubRelease {
|
|||||||
body: string
|
body: string
|
||||||
body_text: string
|
body_text: string
|
||||||
tag_name: string
|
tag_name: string
|
||||||
|
prerelease: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
interface GithubAsset {
|
interface GithubAsset {
|
||||||
@@ -57,11 +58,10 @@ class UpdateNotifier extends React.Component<Props, State> {
|
|||||||
super(props)
|
super(props)
|
||||||
this.state = { newerVersions: [] }
|
this.state = { newerVersions: [] }
|
||||||
|
|
||||||
// window.compare = compareVersions
|
|
||||||
const ownVersion = electron.remote.app.getVersion()
|
const ownVersion = electron.remote.app.getVersion()
|
||||||
this.fetchReleases().then((releases) => {
|
this.fetchReleases().then((releases) => {
|
||||||
const newerVersions = releases
|
const newerVersions = releases
|
||||||
.filter(release => !/alpha|beta/.test(release.tag_name))
|
.filter(release => this.allowPrereleaseIfOwnVersionIsBeta(release, ownVersion))
|
||||||
.filter(release => compareVersions(release.tag_name, ownVersion) > 0)
|
.filter(release => compareVersions(release.tag_name, ownVersion) > 0)
|
||||||
.sort((a, b) => compareVersions(b.tag_name, a.tag_name))
|
.sort((a, b) => compareVersions(b.tag_name, a.tag_name))
|
||||||
|
|
||||||
@@ -72,14 +72,20 @@ class UpdateNotifier extends React.Component<Props, State> {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
private fetchReleases(): Promise<GithubRelease[]> {
|
private allowPrereleaseIfOwnVersionIsBeta(release: GithubRelease, ownVersion: string) {
|
||||||
return axios.get('https://api.github.com/repos/thomasnordquist/mqtt-explorer/releases', {
|
const ownVersionIsBeta = !/alpha|beta/.test(ownVersion)
|
||||||
|
|
||||||
|
return ownVersionIsBeta || !release.prerelease
|
||||||
|
}
|
||||||
|
|
||||||
|
private async fetchReleases(): Promise<GithubRelease[]> {
|
||||||
|
const res = await axios.get('https://api.github.com/repos/thomasnordquist/mqtt-explorer/releases', {
|
||||||
headers: {
|
headers: {
|
||||||
accept: 'application/vnd.github.v3.full+json',
|
accept: 'application/vnd.github.v3.full+json',
|
||||||
},
|
},
|
||||||
}).then((res) => {
|
|
||||||
return res.data
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
return res.data as GithubRelease[]
|
||||||
}
|
}
|
||||||
|
|
||||||
private onCloseNotification = (event: React.SyntheticEvent<any>, reason: string) => {
|
private onCloseNotification = (event: React.SyntheticEvent<any>, reason: string) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user