From 7c5bd76e8f73831500056634dc34d8fcc08561ec Mon Sep 17 00:00:00 2001
From: aclist <92275929+aclist@users.noreply.github.com>
Date: Thu, 12 Dec 2024 11:16:46 +0900
Subject: [PATCH] fix: test connection control flow

---
 dzgui.sh | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/dzgui.sh b/dzgui.sh
index 1cbd63e..3067c93 100755
--- a/dzgui.sh
+++ b/dzgui.sh
@@ -874,14 +874,18 @@ test_connection(){
         ["github.com"]="https://github.com/$author"
         ["codeberg.org"]="https://codeberg.org/$author"
     )
-    res=$(get_response_code "${hr["github.com"]}")
-    [[ $res -ne 200 ]] && remote_host=cb
-    res=$(get_response_code "${hr["codeberg.org"]}")
-    [[ $res -ne 200 ]] && raise_error_and_quit "$str (${hr["codeberg.org"]})"
     # steam API is mandatory
     res=$(get_response_code "${hr["steampowered.com"]}")
     [[ $res -ne 200 ]] && raise_error_and_quit "$str ${hr["steampowered.com"]}"
 
+    res=$(get_response_code "${hr["github.com"]}")
+    if [[ $res -ne 200 ]]; then
+        logger WARN "Remote host '${hr["github.com"]}' unreachable', trying fallback"
+        remote_host=cb
+        res=$(get_response_code "${hr["codeberg.org"]}")
+        [[ $res -ne 200 ]] && raise_error_and_quit "$str (${hr["codeberg.org"]})"
+    fi
+
     if [[ $remote_host == "cb" ]]; then
         url_prefix="https://codeberg.org/$author/$repo/raw/branch"
         releases_url="https://codeberg.org/$author/$repo/releases/download/browser"