about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2017-05-11 21:54:30 +0200
committerGitHub <noreply@github.com>2017-05-11 21:54:30 +0200
commit65f9db73b01012fd4944be9a56ba4a85407590aa (patch)
tree72f095f38349d88f829666875bc51e4c4497fc1f
parenta822f7a05ac4337d45cfd930bd0d779eaf07ad57 (diff)
Fix #2027 - Accept own ID for remote follow with and without preceding @ (#2991)
* Fix #2027 - Accept own ID for remote follow with and without preceding @
Fix #2177 - Omit leading "acct:" in remote follow redirect template expansion

* Fix test
-rw-r--r--app/models/remote_follow.rb4
-rw-r--r--spec/controllers/remote_follow_controller_spec.rb2
2 files changed, 3 insertions, 3 deletions
diff --git a/app/models/remote_follow.rb b/app/models/remote_follow.rb
index c226cdb14..3da3ba0ae 100644
--- a/app/models/remote_follow.rb
+++ b/app/models/remote_follow.rb
@@ -6,7 +6,7 @@ class RemoteFollow
   attr_accessor :acct, :addressable_template
 
   def initialize(attrs = {})
-    @acct = attrs[:acct].strip unless attrs[:acct].nil?
+    @acct = attrs[:acct].gsub(/\A@/, '').strip unless attrs[:acct].nil?
   end
 
   def valid?
@@ -15,7 +15,7 @@ class RemoteFollow
   end
 
   def subscribe_address_for(account)
-    addressable_template.expand(uri: account.to_webfinger_s).to_s
+    addressable_template.expand(uri: account.local_username_and_domain).to_s
   end
 
   private
diff --git a/spec/controllers/remote_follow_controller_spec.rb b/spec/controllers/remote_follow_controller_spec.rb
index ce04e2c43..915c86f8e 100644
--- a/spec/controllers/remote_follow_controller_spec.rb
+++ b/spec/controllers/remote_follow_controller_spec.rb
@@ -66,7 +66,7 @@ describe RemoteFollowController do
         end
 
         it 'redirects to the remote location' do
-          address = "http://example.com/follow_me?acct=acct%3Atest_user%40#{Rails.configuration.x.local_domain}"
+          address = "http://example.com/follow_me?acct=test_user%40#{Rails.configuration.x.local_domain}"
 
           expect(response).to redirect_to(address)
         end