From 36344fb2cb06ec3ad0ef0c702d448e8e5caeb575 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Gro=C3=9F?= Date: Mon, 7 Aug 2023 17:29:36 +0200 Subject: [PATCH] Poll while fetching remote sources to avoid timeout If we don't respond to pings for too long, Jose considers us dead. That becomes a problem when fetching large resources or from a slow remote --- node_2d.tscn | 1 + scripts/RemoteLoader.gd | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/node_2d.tscn b/node_2d.tscn index 49f2f4b..c13e637 100644 --- a/node_2d.tscn +++ b/node_2d.tscn @@ -17,6 +17,7 @@ process_mode = 3 script = ExtResource("3_18f1s") [node name="Placeholder" type="Sprite2D" parent="."] +visible = false position = Vector2(580.25, 314.25) scale = Vector2(0.532715, 0.532715) texture = ExtResource("4_vknm6") diff --git a/scripts/RemoteLoader.gd b/scripts/RemoteLoader.gd index 7ea0a58..da321dc 100644 --- a/scripts/RemoteLoader.gd +++ b/scripts/RemoteLoader.gd @@ -17,6 +17,9 @@ func GetRemoteImage(url): timeout = 1000 request(url) + while get_http_client_status() != HTTPClient.STATUS_CONNECTED: + await get_tree().create_timer(0.001).timeout + $"/root/Main/JobServer".socket.poll() var res = await request_completed var magicBytes = res[3].slice(0,8) print(magicBytes) @@ -30,8 +33,10 @@ func GetRemoteImage(url): error = image.load_jpg_from_buffer(res[3]) if error != OK: print("Error fetching image ", str(error)) - image = load("res://assets/fallback_card.png") + var fallback = load("res://assets/fallback_card.png") + image = fallback.get_image() else: image.save_png(outFile) print("Saved new image to cache. " + outFile) + return image