Fix process of receiving posts with bearcaps is not working (#26527)

This commit is contained in:
KMY(雪あすか) 2024-01-25 19:37:09 +09:00 committed by GitHub
parent 38f7f8b909
commit 9a8293f58d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 8 deletions

View File

@ -108,7 +108,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
end end
def process_status_params def process_status_params
@status_parser = ActivityPub::Parser::StatusParser.new(@json, followers_collection: @account.followers_url) @status_parser = ActivityPub::Parser::StatusParser.new(@json, followers_collection: @account.followers_url, object: @object)
attachment_ids = process_attachments.take(4).map(&:id) attachment_ids = process_attachments.take(4).map(&:id)

View File

@ -4,12 +4,13 @@ class ActivityPub::Parser::StatusParser
include JsonLdHelper include JsonLdHelper
# @param [Hash] json # @param [Hash] json
# @param [Hash] magic_values # @param [Hash] options
# @option magic_values [String] :followers_collection # @option options [String] :followers_collection
def initialize(json, magic_values = {}) # @option options [Hash] :object
@json = json def initialize(json, **options)
@object = json['object'] || json @json = json
@magic_values = magic_values @object = options[:object] || json['object'] || json
@options = options
end end
def uri def uri
@ -78,7 +79,7 @@ class ActivityPub::Parser::StatusParser
:public :public
elsif audience_cc.any? { |cc| ActivityPub::TagManager.instance.public_collection?(cc) } elsif audience_cc.any? { |cc| ActivityPub::TagManager.instance.public_collection?(cc) }
:unlisted :unlisted
elsif audience_to.include?(@magic_values[:followers_collection]) elsif audience_to.include?(@options[:followers_collection])
:private :private
else else
:direct :direct