Skip to content

Commit fa2cbd9

Browse files
properly fix versionNumberGt function
1 parent 80c8b29 commit fa2cbd9

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

src/renderer/App.js

+22-1
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,28 @@ export default defineComponent({
273273
const message = this.$t('Version $ is now available! Click for more details')
274274
this.updateBannerMessage = message.replace('$', tagName)
275275
function versionNumberGt(versionA, versionB) {
276-
return [versionA, versionB].sort().at(-1) === versionA
276+
const partsA = versionA.split('.')
277+
const partsB = versionB.split('.')
278+
if (partsA.length > partsB.length) {
279+
return true
280+
} else if (partsB.length > partsA.length) {
281+
return false
282+
} else {
283+
const partComparisons = partsA.map(a => false)
284+
let oneLeftmostLt = false
285+
let oneGt = false
286+
for (let i = 0; i < partsA.length; i++) {
287+
partComparisons[i] = parseInt(partsA[i]) === parseInt(partsB[i]) ? 'eq' : parseInt(partsA[i]) > parseInt(partsB[i]) ? 'gt' : 'lt'
288+
if (partComparisons[i] === 'gt') {
289+
oneGt = true
290+
}
291+
if (partComparisons[i] === 'lt' && !oneGt) {
292+
oneLeftmostLt = true
293+
}
294+
}
295+
const thereIsAGtBeforeALt = !oneLeftmostLt
296+
return oneGt && thereIsAGtBeforeALt
297+
}
277298
}
278299
if (versionNumberGt(json[0].name, packageDetails.version)) {
279300
this.showUpdatesBanner = true

0 commit comments

Comments
 (0)