Change: #844 searchableByに意図しない値が入っていたときの挙動 (#862)

This commit is contained in:
KMY(雪あすか) 2024-10-02 08:22:30 +09:00 committed by GitHub
parent 7a6ec3603e
commit 294acdfd94
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 29 additions and 26 deletions

View file

@ -147,7 +147,7 @@ class ActivityPub::Parser::StatusParser
def audience_searchable_by
return nil if @object['searchableBy'].nil?
@audience_searchable_by = as_array(@object['searchableBy']).map { |x| value_or_id(x) }
@audience_searchable_by = as_array(@object['searchableBy']).map { |x| value_or_id(x) }.compact_blank
end
def summary_language_map?
@ -204,17 +204,18 @@ class ActivityPub::Parser::StatusParser
def searchability_from_audience
return nil if audience_searchable_by.blank?
return :limited if audience_searchable_by.include?('kmyblue:Limited') || audience_searchable_by.include?('as:Limited')
if audience_searchable_by.any? { |uri| ActivityPub::TagManager.instance.public_collection?(uri) }
:public
elsif audience_searchable_by.include?('kmyblue:Limited') || audience_searchable_by.include?('as:Limited')
:limited
elsif audience_searchable_by.include?('kmyblue:LocalPublic') && @friend
:public_unlisted
elsif audience_searchable_by.include?(@account.followers_url)
:private
elsif audience_searchable_by.include?(@account.uri) || audience_searchable_by.include?(@account.url)
:direct
else
:limited
end
end
end