Prevent running webui auto update in parallel to the setup (#1759)

This commit is contained in:
schroda
2025-11-01 19:31:13 +01:00
committed by GitHub
parent 4dbd9d70d2
commit 6b0fddd421

View File

@@ -84,6 +84,8 @@ object WebInterfaceManager {
private val preferences = Injekt.get<Application>().getSharedPreferences("server_util", Context.MODE_PRIVATE)
private var currentUpdateTaskId: String = ""
private var isSetupComplete = false
private val json: Json by injectLazy()
private val network: NetworkHelper by injectLazy()
@@ -183,6 +185,7 @@ object WebInterfaceManager {
@OptIn(DelicateCoroutinesApi::class)
GlobalScope.launch(Dispatchers.IO) {
setupWebUI()
isSetupComplete = true
}
}
@@ -253,25 +256,27 @@ object WebInterfaceManager {
val lastAutomatedUpdate = preferences.getLong(LAST_WEBUI_UPDATE_CHECK_KEY, System.currentTimeMillis())
val task = {
val log =
KotlinLogging.logger(
"${logger.name}::scheduleWebUIUpdateCheck(" +
"flavor= ${WebUIFlavor.current.uiName}, " +
"channel= ${serverConfig.webUIChannel.value}, " +
"interval= ${serverConfig.webUIUpdateCheckInterval.value}h, " +
"lastAutomatedUpdate= ${
Date(
lastAutomatedUpdate,
)
})",
)
log.debug { "called" }
if (isSetupComplete) {
val log =
KotlinLogging.logger(
"${logger.name}::scheduleWebUIUpdateCheck(" +
"flavor= ${WebUIFlavor.current.uiName}, " +
"channel= ${serverConfig.webUIChannel.value}, " +
"interval= ${serverConfig.webUIUpdateCheckInterval.value}h, " +
"lastAutomatedUpdate= ${
Date(
lastAutomatedUpdate,
)
})",
)
log.debug { "called" }
runBlocking {
try {
checkForUpdate(WebUIFlavor.current)
} catch (e: Exception) {
log.error(e) { "failed due to" }
runBlocking {
try {
checkForUpdate(WebUIFlavor.current)
} catch (e: Exception) {
log.error(e) { "failed due to" }
}
}
}
}