diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index df360a26d..a3e38d3aa 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -14,10 +14,10 @@
-
-
+
+
-
+
@@ -26,7 +26,7 @@
-
+
diff --git a/pom.xml b/pom.xml
index f9c701e30..e5828547f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
1.2.4
1.2.2
1.4.0-beta2
- 4.0.0-beta1
+ 4.0.0-beta4
2.0.0
2.0.5
@@ -50,10 +50,10 @@
2.15.3
20.0.2
4.4.0
- 9.36
+ 9.37
1.4.11
2.0.9
- 0.6.0
+ 0.7.0
1.8.2
diff --git a/src/main/java/org/cryptomator/ui/error/ErrorController.java b/src/main/java/org/cryptomator/ui/error/ErrorController.java
index 61f2b0e10..45c940bcb 100644
--- a/src/main/java/org/cryptomator/ui/error/ErrorController.java
+++ b/src/main/java/org/cryptomator/ui/error/ErrorController.java
@@ -31,6 +31,7 @@ import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
+import java.time.Duration;
import java.util.Comparator;
import java.util.Map;
import java.util.Optional;
@@ -154,6 +155,7 @@ public class ErrorController implements FxController {
HttpClient httpClient = HttpClient.newBuilder().version(HttpClient.Version.HTTP_1_1).build();
HttpRequest httpRequest = HttpRequest.newBuilder()//
.header("User-Agent", userAgent)
+ .timeout(Duration.ofSeconds(10))
.uri(URI.create(ERROR_CODES_URL_FORMAT.formatted(URLEncoder.encode(errorCode.toString(),StandardCharsets.UTF_8))))//
.build();
httpClient.sendAsync(httpRequest, HttpResponse.BodyHandlers.ofInputStream())//
diff --git a/src/main/java/org/cryptomator/ui/fxapp/UpdateCheckerModule.java b/src/main/java/org/cryptomator/ui/fxapp/UpdateCheckerModule.java
index d70301e78..b5f06d7e5 100644
--- a/src/main/java/org/cryptomator/ui/fxapp/UpdateCheckerModule.java
+++ b/src/main/java/org/cryptomator/ui/fxapp/UpdateCheckerModule.java
@@ -63,6 +63,7 @@ public abstract class UpdateCheckerModule {
return HttpRequest.newBuilder() //
.uri(LATEST_VERSION_URI) //
.header("User-Agent", userAgent) //
+ .timeout(java.time.Duration.ofSeconds(10))
.build();
}
diff --git a/src/main/java/org/cryptomator/ui/keyloading/hub/AuthFlowTask.java b/src/main/java/org/cryptomator/ui/keyloading/hub/AuthFlowTask.java
index 0379d4331..b85e98cd4 100644
--- a/src/main/java/org/cryptomator/ui/keyloading/hub/AuthFlowTask.java
+++ b/src/main/java/org/cryptomator/ui/keyloading/hub/AuthFlowTask.java
@@ -8,6 +8,8 @@ import io.github.coffeelibs.tinyoauth2client.http.response.Response;
import javafx.concurrent.Task;
import java.io.IOException;
import java.net.URI;
+import java.net.http.HttpClient;
+import java.time.Duration;
import java.util.function.Consumer;
class AuthFlowTask extends Task {
@@ -34,6 +36,7 @@ class AuthFlowTask extends Task {
protected String call() throws IOException, InterruptedException {
var response = TinyOAuth2.client(hubConfig.clientId) //
.withTokenEndpoint(URI.create(hubConfig.tokenEndpoint)) //
+ .withRequestTimeout(Duration.ofSeconds(10)) //
.authFlow(URI.create(hubConfig.authEndpoint)) //
.setSuccessResponse(Response.redirect(URI.create(hubConfig.authSuccessUrl + "&device=" + authFlowContext.deviceId()))) //
.setErrorResponse(Response.redirect(URI.create(hubConfig.authErrorUrl + "&device=" + authFlowContext.deviceId()))) //