From 00c1af28cc40cba1a3550bb97564c48164ee925c Mon Sep 17 00:00:00 2001 From: Corey Frenette <lordmonoxide@gmail.com> Date: Sat, 1 Feb 2025 13:52:16 -0400 Subject: [PATCH] Add update check timeout and update check skip (#2000) --- src/main/java/legend/core/GameEngine.java | 6 ++++++ src/main/java/legend/core/Updater.java | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/legend/core/GameEngine.java b/src/main/java/legend/core/GameEngine.java index 0c28b8bae..b16193614 100644 --- a/src/main/java/legend/core/GameEngine.java +++ b/src/main/java/legend/core/GameEngine.java @@ -517,6 +517,12 @@ private static void loadGfx() { } private static void skip() { + if(time == 0) { + synchronized(UPDATER_LOCK) { + UPDATE_CHECK_FINISHED = true; + } + } + time = 0; fade1 = 0.0f; fade2 = 0.0f; diff --git a/src/main/java/legend/core/Updater.java b/src/main/java/legend/core/Updater.java index 1fa67def6..a0bd99198 100644 --- a/src/main/java/legend/core/Updater.java +++ b/src/main/java/legend/core/Updater.java @@ -3,6 +3,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.asynchttpclient.AsyncHttpClient; +import org.asynchttpclient.DefaultAsyncHttpClientConfig; import org.asynchttpclient.ListenableFuture; import org.asynchttpclient.Response; import org.jetbrains.annotations.NotNull; @@ -11,6 +12,7 @@ import org.json.JSONObject; import java.io.IOException; +import java.time.Duration; import java.time.ZonedDateTime; import java.util.ArrayList; import java.util.List; @@ -43,7 +45,7 @@ public void check(final Consumer<Release> onComplete) { synchronized(this) { if(this.client == null) { try { - this.client = asyncHttpClient(); + this.client = asyncHttpClient(new DefaultAsyncHttpClientConfig.Builder().setConnectTimeout(Duration.ofSeconds(10)).setReadTimeout(Duration.ofSeconds(10)).build()); } catch(final Throwable r) { LOGGER.error("Failed to initialize updater"); }