Convert OStatus tag to ActivityPub id on in_reply_to resolution (#4756)

master
unarist 7 years ago committed by Eugen Rochko
parent af2d22f88c
commit 504737e860
  1. 10
      app/lib/ostatus/activity/base.rb
  2. 2
      app/lib/ostatus/activity/creation.rb

@ -56,6 +56,16 @@ class OStatus::Activity::Base
Status.find_by(uri: uri)
end
def find_activitypub_status(uri, href)
tag_matches = /tag:([^,:]+)[^:]*:objectId=([\d]+)/.match(uri)
href_matches = %r{/users/([^/]+)}.match(href)
unless tag_matches.nil? || href_matches.nil?
uri = "https://#{tag_matches[1]}/users/#{href_matches[1]}/statuses/#{tag_matches[2]}"
Status.find_by(uri: uri)
end
end
def redis
Redis.current
end

@ -36,7 +36,7 @@ class OStatus::Activity::Creation < OStatus::Activity::Base
language: content_language,
visibility: visibility_scope,
conversation: find_or_create_conversation,
thread: thread? ? find_status(thread.first) : nil
thread: thread? ? find_status(thread.first) || find_activitypub_status(thread.first, thread.second) : nil
)
save_mentions(status)

Loading…
Cancel
Save