Better comparison of "local" domain
This commit is contained in:
		| @@ -5,7 +5,7 @@ class Api::V1::FollowsController < ApiController | ||||
|   def create | ||||
|     raise ActiveRecord::RecordNotFound if params[:uri].blank? | ||||
|  | ||||
|     @account = FollowService.new.call(current_user.account, params[:uri]).try(:target_account) | ||||
|     @account = FollowService.new.call(current_user.account, params[:uri].strip).try(:target_account) | ||||
|     render action: :show | ||||
|   end | ||||
| end | ||||
|   | ||||
| @@ -17,6 +17,10 @@ class TagManager | ||||
|     id.start_with?("tag:#{Rails.configuration.x.local_domain}") | ||||
|   end | ||||
|  | ||||
|   def local_domain?(domain) | ||||
|     domain.nil? || domain.gsub(/[\/]/, '') == Rails.configuration.x.local_domain | ||||
|   end | ||||
|  | ||||
|   def uri_for(target) | ||||
|     return target.uri if target.respond_to?(:local?) && !target.local? | ||||
|  | ||||
|   | ||||
| @@ -7,7 +7,7 @@ class FollowRemoteAccountService < BaseService | ||||
|   def call(uri) | ||||
|     username, domain = uri.split('@') | ||||
|  | ||||
|     return Account.find_local(username) if domain == Rails.configuration.x.local_domain || domain.nil? | ||||
|     return Account.find_local(username) if TagManager.instance.local_domain?(domain) | ||||
|  | ||||
|     account = Account.find_remote(username, domain) | ||||
|  | ||||
|   | ||||
| @@ -63,7 +63,7 @@ class ProcessFeedService < BaseService | ||||
|  | ||||
|       href = Addressable::URI.parse(href_val) | ||||
|  | ||||
|       if href.host == Rails.configuration.x.local_domain | ||||
|       if TagManager.instance.local_domain?(href.host) | ||||
|         # A local user is mentioned | ||||
|         mentioned_account = Account.find_local(href.path.gsub('/users/', '')) | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user