about summary refs log tree commit diff
path: root/app/controllers/home_controller.rb
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2022-09-29 04:39:33 +0200
committerClaire <claire.github-309c@sitedethib.com>2022-10-09 18:23:15 +0200
commitd86cb4cab89e99afae8ebf49e4276b40d444c498 (patch)
tree5468f75f3be9a16fe2e82dded9dc753ab0c0e22d /app/controllers/home_controller.rb
parent9ee2746a3674290db7adb35adda02a275b04e7e8 (diff)
[Glitch] Allow non-logged users to access /web
Port 43b5d5e38d2b8ad8f1d1ad0911c3c1718159c912 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
Diffstat (limited to 'app/controllers/home_controller.rb')
-rw-r--r--app/controllers/home_controller.rb15
1 files changed, 12 insertions, 3 deletions
diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb
index 450f92bd4..61b1690fa 100644
--- a/app/controllers/home_controller.rb
+++ b/app/controllers/home_controller.rb
@@ -2,10 +2,10 @@
 
 class HomeController < ApplicationController
   before_action :redirect_unauthenticated_to_permalinks!
-  before_action :authenticate_user!
 
   before_action :set_pack
   before_action :set_referrer_policy_header
+  before_action :set_instance_presenter
 
   def index
     @body_classes = 'app-body'
@@ -16,7 +16,10 @@ class HomeController < ApplicationController
   def redirect_unauthenticated_to_permalinks!
     return if user_signed_in?
 
-    redirect_to(PermalinkRedirector.new(request.path).redirect_path || default_redirect_path)
+    redirect_path = PermalinkRedirector.new(request.path).redirect_path
+    redirect_path ||= default_redirect_path
+
+    redirect_to(redirect_path) if redirect_path.present?
   end
 
   def set_pack
@@ -24,8 +27,10 @@ class HomeController < ApplicationController
   end
 
   def default_redirect_path
-    if request.path.start_with?('/web') || whitelist_mode?
+    if whitelist_mode?
       new_user_session_path
+    elsif request.path.start_with?('/web')
+      nil
     elsif single_user_mode?
       short_account_path(Account.local.without_suspended.where('id > 0').first)
     else
@@ -36,4 +41,8 @@ class HomeController < ApplicationController
   def set_referrer_policy_header
     response.headers['Referrer-Policy'] = 'origin'
   end
+
+  def set_instance_presenter
+    @instance_presenter = InstancePresenter.new
+  end
 end