Fix: 一部サーバーの投稿が参照引用できない問題・参照引用時、フェッチを基本しないよう変更 (#360)

This commit is contained in:
KMY(雪あすか) 2023-12-15 08:40:59 +09:00 committed by GitHub
parent 6dbe5c882d
commit 1f73b81bd8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 81 additions and 18 deletions

View file

@ -544,7 +544,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
url = quote
if url.present?
ResolveURLService.new.call(url, on_behalf_of: @account, local_only: true).present?
ActivityPub::TagManager.instance.uri_to_resource(url, Status)&.local?
else
false
end

View file

@ -208,7 +208,7 @@ class ActivityPub::TagManager
uri_to_resource(uri, Account)
end
def uri_to_resource(uri, klass)
def uri_to_resource(uri, klass, url: false)
return if uri.nil?
if local_uri?(uri)
@ -221,7 +221,9 @@ class ActivityPub::TagManager
elsif OStatus::TagManager.instance.local_id?(uri)
klass.find_by(id: OStatus::TagManager.instance.unique_tag_to_local_id(uri, klass.to_s))
else
klass.find_by(uri: uri.split('#').first)
resource = klass.find_by(uri: uri.split('#').first)
resource ||= klass.where('uri != url').find_by(url: uri.split('#').first) if url
resource
end
rescue ActiveRecord::RecordNotFound
nil