about summary refs log tree commit diff
path: root/app/models/remote_follow.rb
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2019-08-30 02:19:17 +0200
committerGitHub <noreply@github.com>2019-08-30 02:19:17 +0200
commitb54b725d6bc8dd0a4ab0fe0bf408193c1bae8106 (patch)
tree2e0f0477b75ad45866ec62db62be93d4b467856c /app/models/remote_follow.rb
parent6914482d0a6e7e654e17e7f2aa2f6a2acde6c59a (diff)
Fix uncaught domain normalization error in remote follow (#11703)
Diffstat (limited to 'app/models/remote_follow.rb')
-rw-r--r--app/models/remote_follow.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/app/models/remote_follow.rb b/app/models/remote_follow.rb
index 93df11724..52dd3f67b 100644
--- a/app/models/remote_follow.rb
+++ b/app/models/remote_follow.rb
@@ -6,7 +6,7 @@ class RemoteFollow
 
   attr_accessor :acct, :addressable_template
 
-  validates :acct, presence: true
+  validates :acct, presence: true, domain: { acct: true }
 
   def initialize(attrs = {})
     @acct = normalize_acct(attrs[:acct])
@@ -21,7 +21,7 @@ class RemoteFollow
   end
 
   def subscribe_address_for(account)
-    addressable_template.expand(uri: account.local_username_and_domain).to_s
+    addressable_template.expand(uri: ActivityPub::TagManager.instance.uri_for(account)).to_s
   end
 
   def interact_address_for(status)
@@ -44,6 +44,8 @@ class RemoteFollow
     end
 
     [username, domain].compact.join('@')
+  rescue Addressable::URI::InvalidURIError
+    value
   end
 
   def fetch_template!