Fix version checking

don't just check for string differences, but compare the version numbering using packaging.version
This commit is contained in:
Leif 2025-02-13 23:04:27 -09:00 committed by GitHub
parent cc2af4371f
commit 7f4da826b1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -15,6 +15,7 @@ from Utilities import (
ValidateIPAddressesWithRange, ValidateDNSAddress, ValidateIPAddressesWithRange, ValidateDNSAddress,
GenerateWireguardPublicKey, GenerateWireguardPrivateKey GenerateWireguardPublicKey, GenerateWireguardPrivateKey
) )
from packaging import version
from modules.Email import EmailSender from modules.Email import EmailSender
from modules.Log import Log from modules.Log import Log
from modules.DashboardLogger import DashboardLogger from modules.DashboardLogger import DashboardLogger
@ -2821,7 +2822,7 @@ def API_getDashboardUpdate():
tagName = data.get('tag_name') tagName = data.get('tag_name')
htmlUrl = data.get('html_url') htmlUrl = data.get('html_url')
if tagName is not None and htmlUrl is not None: if tagName is not None and htmlUrl is not None:
if tagName != DASHBOARD_VERSION: if version.parse(tagName) > version.parse(DASHBOARD_VERSION):
return ResponseObject(message=f"{tagName} is now available for update!", data=htmlUrl) return ResponseObject(message=f"{tagName} is now available for update!", data=htmlUrl)
else: else:
return ResponseObject(message="You're on the latest version") return ResponseObject(message="You're on the latest version")
@ -3079,4 +3080,4 @@ def startThreads():
if __name__ == "__main__": if __name__ == "__main__":
startThreads() startThreads()
app.run(host=app_ip, debug=False, port=app_port) app.run(host=app_ip, debug=False, port=app_port)