about summary refs log tree commit diff
path: root/app/models/remote_follow.rb
diff options
context:
space:
mode:
authorThibaut Girka <thib@sitedethib.com>2019-08-30 13:38:41 +0200
committerThibaut Girka <thib@sitedethib.com>2019-08-30 13:38:41 +0200
commit9044a2b051da18e9f70fd4fae55c2bd232891d1f (patch)
tree0bf32b0fa0e854f75e50c1dee05ec41f6b301bf4 /app/models/remote_follow.rb
parent2848c08953a8555e06791170dbf1090575e05d8a (diff)
parent49f57b55346f8e62d21a3c8bc63301038ecb796f (diff)
Merge branch 'master' into glitch-soc/merge-upstream
Conflicts:
- app/views/directories/index.html.haml
  Upstream has redesigned the profile directory, and we
  had a glitch-soc-specific change to hide follower counts.
  Ported that change to the new design.
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!