From 65f9db73b01012fd4944be9a56ba4a85407590aa Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 11 May 2017 21:54:30 +0200 Subject: [PATCH] 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 --- app/models/remote_follow.rb | 4 ++-- spec/controllers/remote_follow_controller_spec.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/models/remote_follow.rb b/app/models/remote_follow.rb index c226cdb143..3da3ba0ae7 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 ce04e2c432..915c86f8ea 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