about summary refs log tree commit diff
path: root/app/lib
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2022-03-12 09:11:36 +0100
committerGitHub <noreply@github.com>2022-03-12 09:11:36 +0100
commitddbe906c25fc370c92fa557d3637d50b7af97754 (patch)
tree390d410ca8f07ac883eb3395118864619e054653 /app/lib
parent883099f3c953ee5acb30b308f7f5d985e3126f02 (diff)
Fix not updating a status when newer version is fetched manually (#17745)
Diffstat (limited to 'app/lib')
-rw-r--r--app/lib/activitypub/activity.rb10
-rw-r--r--app/lib/activitypub/activity/update.rb2
2 files changed, 2 insertions, 10 deletions
diff --git a/app/lib/activitypub/activity.rb b/app/lib/activitypub/activity.rb
index 706960f92..f599e1b58 100644
--- a/app/lib/activitypub/activity.rb
+++ b/app/lib/activitypub/activity.rb
@@ -71,15 +71,7 @@ class ActivityPub::Activity
   end
 
   def object_uri
-    @object_uri ||= begin
-      str = value_or_id(@object)
-
-      if str&.start_with?('bear:')
-        Addressable::URI.parse(str).query_values['u']
-      else
-        str
-      end
-    end
+    @object_uri ||= uri_from_bearcap(value_or_id(@object))
   end
 
   def unsupported_object_type?
diff --git a/app/lib/activitypub/activity/update.rb b/app/lib/activitypub/activity/update.rb
index 36ad5f446..5802ead5d 100644
--- a/app/lib/activitypub/activity/update.rb
+++ b/app/lib/activitypub/activity/update.rb
@@ -20,7 +20,7 @@ class ActivityPub::Activity::Update < ActivityPub::Activity
   end
 
   def update_status
-    return reject_payload! if invalid_origin?(@object['id'])
+    return reject_payload! if invalid_origin?(object_uri)
 
     @status = Status.find_by(uri: object_uri, account_id: @account.id)