From 0546a73bfaef384b948acad27a92ca02bf44e3bf Mon Sep 17 00:00:00 2001
From: epicsam123 <92618898+epicsam123@users.noreply.github.com>
Date: Wed, 22 Jan 2025 17:33:54 -0500
Subject: [PATCH 1/5] Pick a different instance upon redirect

---
 src/invidious/routes/misc.cr | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/invidious/routes/misc.cr b/src/invidious/routes/misc.cr
index 8b620d63..152bc2cb 100644
--- a/src/invidious/routes/misc.cr
+++ b/src/invidious/routes/misc.cr
@@ -40,14 +40,23 @@ module Invidious::Routes::Misc
 
   def self.cross_instance_redirect(env)
     referer = get_referer(env)
+    redirect_url = "redirect.invidious.io"
 
     instance_list = Invidious::Jobs::InstanceListRefreshJob::INSTANCES["INSTANCES"]
     if instance_list.empty?
-      instance_url = "redirect.invidious.io"
+      instance_url = redirect_url
     else
       # Sample returns an array
       # Instances are packaged as {region, domain} in the instance list
-      instance_url = instance_list.sample(1)[0][1]
+      # Filter out the current instance
+      other_available_instances = instance_list.reject! { |region, domain| domain == CONFIG.domain }
+
+      # If there are any other instances, select a random one
+      if other_available_instances.any?
+        instance_url = other_available_instances.sample(1)[0][1]
+      else
+        # If the current instance is the only one, use the redirect URL as fallback
+        instance_url = redirect_url
     end
 
     env.redirect "https://#{instance_url}#{referer}"

From 6816ded0fa29dd5d45e0858b5dd8fbe8d0f3f35a Mon Sep 17 00:00:00 2001
From: epicsam123 <92618898+epicsam123@users.noreply.github.com>
Date: Thu, 23 Jan 2025 22:17:46 -0500
Subject: [PATCH 2/5] add missing end statement

---
 src/invidious/routes/misc.cr | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/invidious/routes/misc.cr b/src/invidious/routes/misc.cr
index 152bc2cb..27a28994 100644
--- a/src/invidious/routes/misc.cr
+++ b/src/invidious/routes/misc.cr
@@ -57,6 +57,7 @@ module Invidious::Routes::Misc
       else
         # If the current instance is the only one, use the redirect URL as fallback
         instance_url = redirect_url
+      end
     end
 
     env.redirect "https://#{instance_url}#{referer}"

From afb0aad7d36bf907b46df87432c65a9b45eb678d Mon Sep 17 00:00:00 2001
From: epicsam123 <92618898+epicsam123@users.noreply.github.com>
Date: Fri, 24 Jan 2025 21:54:10 -0500
Subject: [PATCH 3/5] moved comments

---
 src/invidious/routes/misc.cr | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/invidious/routes/misc.cr b/src/invidious/routes/misc.cr
index 27a28994..96d6e61f 100644
--- a/src/invidious/routes/misc.cr
+++ b/src/invidious/routes/misc.cr
@@ -46,13 +46,13 @@ module Invidious::Routes::Misc
     if instance_list.empty?
       instance_url = redirect_url
     else
-      # Sample returns an array
-      # Instances are packaged as {region, domain} in the instance list
       # Filter out the current instance
       other_available_instances = instance_list.reject! { |region, domain| domain == CONFIG.domain }
 
       # If there are any other instances, select a random one
       if other_available_instances.any?
+        # Sample returns an array
+        # Instances are packaged as {region, domain} in the instance list
         instance_url = other_available_instances.sample(1)[0][1]
       else
         # If the current instance is the only one, use the redirect URL as fallback

From 0fd480bae2f22848528f0f526bbae410801d486d Mon Sep 17 00:00:00 2001
From: epicsam123 <92618898+epicsam123@users.noreply.github.com>
Date: Sat, 25 Jan 2025 03:24:38 -0500
Subject: [PATCH 4/5] lint edits, refactor

---
 src/invidious/routes/misc.cr | 25 ++++++++++---------------
 1 file changed, 10 insertions(+), 15 deletions(-)

diff --git a/src/invidious/routes/misc.cr b/src/invidious/routes/misc.cr
index 96d6e61f..09248145 100644
--- a/src/invidious/routes/misc.cr
+++ b/src/invidious/routes/misc.cr
@@ -40,24 +40,19 @@ module Invidious::Routes::Misc
 
   def self.cross_instance_redirect(env)
     referer = get_referer(env)
-    redirect_url = "redirect.invidious.io"
 
     instance_list = Invidious::Jobs::InstanceListRefreshJob::INSTANCES["INSTANCES"]
-    if instance_list.empty?
-      instance_url = redirect_url
-    else
-      # Filter out the current instance
-      other_available_instances = instance_list.reject! { |region, domain| domain == CONFIG.domain }
+    # Filter out the current instance
+    other_available_instances = instance_list.reject! { |_, domain| domain == CONFIG.domain }
 
-      # If there are any other instances, select a random one
-      if other_available_instances.any?
-        # Sample returns an array
-        # Instances are packaged as {region, domain} in the instance list
-        instance_url = other_available_instances.sample(1)[0][1]
-      else
-        # If the current instance is the only one, use the redirect URL as fallback
-        instance_url = redirect_url
-      end
+    if other_available_instances.empty?
+      # If the current instance is the only one, use the redirect URL as fallback
+      instance_url = "redirect.invidious.io"
+    else
+      # Select other random instance
+      # Sample returns an array
+      # Instances are packaged as {region, domain} in the instance list
+      instance_url = other_available_instances.sample(1)[0][1]
     end
 
     env.redirect "https://#{instance_url}#{referer}"

From a77f083a0ab6d018023791d113cfbf97a05f315d Mon Sep 17 00:00:00 2001
From: epicsam123 <92618898+epicsam123@users.noreply.github.com>
Date: Sun, 26 Jan 2025 16:42:59 -0500
Subject: [PATCH 5/5] remove ! on reject

---
 src/invidious/routes/misc.cr | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/invidious/routes/misc.cr b/src/invidious/routes/misc.cr
index 09248145..0b868755 100644
--- a/src/invidious/routes/misc.cr
+++ b/src/invidious/routes/misc.cr
@@ -43,7 +43,7 @@ module Invidious::Routes::Misc
 
     instance_list = Invidious::Jobs::InstanceListRefreshJob::INSTANCES["INSTANCES"]
     # Filter out the current instance
-    other_available_instances = instance_list.reject! { |_, domain| domain == CONFIG.domain }
+    other_available_instances = instance_list.reject { |_, domain| domain == CONFIG.domain }
 
     if other_available_instances.empty?
       # If the current instance is the only one, use the redirect URL as fallback