From f79ba2de83af5d9a1a94415c3ca38a7e7d6f2cfc Mon Sep 17 00:00:00 2001
From: Eugen Rochko <eugen@zeonfederated.com>
Date: Mon, 2 Jan 2017 22:31:10 +0100
Subject: [PATCH] Fix admin UI not loading JS, make sure to strip "acct:" out
 of remote account's usernames when authorizing follow

---
 app/controllers/authorize_follow_controller.rb | 12 ++++++++----
 app/views/layouts/admin.html.haml              |  3 +++
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/app/controllers/authorize_follow_controller.rb b/app/controllers/authorize_follow_controller.rb
index ca72c9691..e866b5599 100644
--- a/app/controllers/authorize_follow_controller.rb
+++ b/app/controllers/authorize_follow_controller.rb
@@ -6,7 +6,7 @@ class AuthorizeFollowController < ApplicationController
   before_action :authenticate_user!
 
   def new
-    uri = Addressable::URI.parse(params[:acct])
+    uri = Addressable::URI.parse(acct_param)
 
     if uri.path && %w(http https).include?(uri.scheme)
       set_account_from_url
@@ -18,7 +18,7 @@ class AuthorizeFollowController < ApplicationController
   end
 
   def create
-    @account = FollowService.new.call(current_account, params[:acct]).try(:target_account)
+    @account = FollowService.new.call(current_account, acct_param).try(:target_account)
 
     if @account.nil?
       render :error
@@ -32,10 +32,14 @@ class AuthorizeFollowController < ApplicationController
   private
 
   def set_account_from_url
-    @account = FetchRemoteAccountService.new.call(params[:acct])
+    @account = FetchRemoteAccountService.new.call(acct_param)
   end
 
   def set_account_from_acct
-    @account = FollowRemoteAccountService.new.call(params[:acct])
+    @account = FollowRemoteAccountService.new.call(acct_param)
+  end
+
+  def acct_param
+    params[:acct].gsub(/\Aacct:/, '')
   end
 end
diff --git a/app/views/layouts/admin.html.haml b/app/views/layouts/admin.html.haml
index 2fc116f45..11f76a1de 100644
--- a/app/views/layouts/admin.html.haml
+++ b/app/views/layouts/admin.html.haml
@@ -1,3 +1,6 @@
+- content_for :header_tags do
+  = javascript_include_tag 'application_public'
+  
 - content_for :content do
   .admin-wrapper
     .sidebar