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
This commit is contained in:
Eugen Rochko 2017-05-11 21:54:30 +02:00 committed by GitHub
parent a822f7a05a
commit 65f9db73b0
2 changed files with 3 additions and 3 deletions

View File

@ -6,7 +6,7 @@ class RemoteFollow
attr_accessor :acct, :addressable_template attr_accessor :acct, :addressable_template
def initialize(attrs = {}) def initialize(attrs = {})
@acct = attrs[:acct].strip unless attrs[:acct].nil? @acct = attrs[:acct].gsub(/\A@/, '').strip unless attrs[:acct].nil?
end end
def valid? def valid?
@ -15,7 +15,7 @@ class RemoteFollow
end end
def subscribe_address_for(account) 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 end
private private

View File

@ -66,7 +66,7 @@ describe RemoteFollowController do
end end
it 'redirects to the remote location' do 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) expect(response).to redirect_to(address)
end end