From 2ce423b6cbdf5dcd68d27db93bbab394cec06a40 Mon Sep 17 00:00:00 2001 From: schroda <50052685+schroda@users.noreply.github.com> Date: Sat, 22 Jul 2023 01:51:51 +0200 Subject: [PATCH] Correctly check if a new version is available for the preview channel (#604) The actual version of the preview was never loaded and compared to the local version. Instead, for the preview channel it was incorrectly decided that a new version is available on every update check --- .../tachidesk/server/util/WebInterfaceManager.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/server/src/main/kotlin/suwayomi/tachidesk/server/util/WebInterfaceManager.kt b/server/src/main/kotlin/suwayomi/tachidesk/server/util/WebInterfaceManager.kt index 598f2714..cbef90a5 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/server/util/WebInterfaceManager.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/server/util/WebInterfaceManager.kt @@ -251,7 +251,7 @@ object WebInterfaceManager { private fun fetchPreviewVersion(): String { val releaseInfoJson = URL(WebUI.WEBUI.latestReleaseInfoUrl).readText() - return Json.decodeFromString(releaseInfoJson)["tag_name"]?.jsonPrimitive?.content ?: "" + return Json.decodeFromString(releaseInfoJson)["tag_name"]?.jsonPrimitive?.content ?: throw Exception("Failed to get the preview version tag") } private fun getLatestCompatibleVersion(): String { @@ -385,7 +385,13 @@ object WebInterfaceManager { fun isUpdateAvailable(currentVersion: String): Boolean { return try { - val latestCompatibleVersion = getLatestCompatibleVersion() + val version = getLatestCompatibleVersion() + val latestCompatibleVersion = if (version == webUIPreviewVersion) { + fetchPreviewVersion() + } else { + version + } + latestCompatibleVersion != currentVersion } catch (e: Exception) { logger.debug { "isUpdateAvailable: check failed due to $e" }