Merge remote-tracking branch 'parent/main' into upstream-20240403
This commit is contained in:
commit
479c4fecc1
63 changed files with 831 additions and 391 deletions
|
@ -163,7 +163,10 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
|
|||
valid = !Admin::NgWord.reject?("#{@params[:spoiler_text]}\n#{@params[:text]}", uri: @params[:uri], target_type: :status, public: @status_parser.distributable_visibility?, stranger: mention_to_local_stranger? || reference_to_local_stranger?) if valid
|
||||
valid = !Admin::NgWord.hashtag_reject?(@tags.size, uri: @params[:uri], target_type: :status, public: @status_parser.distributable_visibility?, text: "#{@params[:spoiler_text]}\n#{@params[:text]}") if valid
|
||||
valid = !Admin::NgWord.mention_reject?(@raw_mention_uris.size, uri: @params[:uri], target_type: :status, public: @status_parser.distributable_visibility?, text: "#{@params[:spoiler_text]}\n#{@params[:text]}") if valid
|
||||
valid = !Admin::NgWord.stranger_mention_reject_with_count?(@raw_mention_uris.size, uri: @params[:uri], target_type: :status, public: @status_parser.distributable_visibility?, text: "#{@params[:spoiler_text]}\n#{@params[:text]}") if valid && (mention_to_local_stranger? || reference_to_local_stranger?)
|
||||
if valid && (mention_to_local_stranger? || reference_to_local_stranger?)
|
||||
valid = !Admin::NgWord.stranger_mention_reject_with_count?(@raw_mention_uris.size, uri: @params[:uri], target_type: :status, public: @status_parser.distributable_visibility?,
|
||||
text: "#{@params[:spoiler_text]}\n#{@params[:text]}")
|
||||
end
|
||||
valid = false if valid && Setting.block_unfollow_account_mention && (mention_to_local_stranger? || reference_to_local_stranger?) && !local_following_sender?
|
||||
|
||||
valid
|
||||
|
|
|
@ -469,10 +469,10 @@ class FeedManager
|
|||
# @param [List] list
|
||||
# @return [Boolean]
|
||||
def filter_from_list?(status, list)
|
||||
if status.reply? && status.in_reply_to_account_id != status.account_id
|
||||
should_filter = status.in_reply_to_account_id != list.account_id
|
||||
should_filter &&= !list.show_followed?
|
||||
should_filter &&= !(list.show_list? && ListAccount.exists?(list_id: list.id, account_id: status.in_reply_to_account_id))
|
||||
if status.reply? && status.in_reply_to_account_id != status.account_id # Status is a reply to account other than status account
|
||||
should_filter = status.in_reply_to_account_id != list.account_id # Status replies to account id other than list account
|
||||
should_filter &&= !list.show_followed? # List show_followed? is false
|
||||
should_filter &&= !(list.show_list? && ListAccount.exists?(list_id: list.id, account_id: status.in_reply_to_account_id)) # If show_list? true, check for a ListAccount with list and reply to account
|
||||
|
||||
return !!should_filter
|
||||
end
|
||||
|
@ -487,7 +487,11 @@ class FeedManager
|
|||
# @param [Hash] crutches
|
||||
# @return [Boolean]
|
||||
def filter_from_tags?(status, receiver_id, crutches)
|
||||
receiver_id == status.account_id || ((crutches[:active_mentions][status.id] || []) + [status.account_id]).any? { |target_account_id| crutches[:blocking][target_account_id] || crutches[:muting][target_account_id] } || crutches[:blocked_by][status.account_id] || crutches[:domain_blocking][status.account.domain]
|
||||
receiver_id == status.account_id || # Receiver is status account?
|
||||
((crutches[:active_mentions][status.id] || []) + [status.account_id]) # For mentioned accounts or status account:
|
||||
.any? { |target_account_id| crutches[:blocking][target_account_id] || crutches[:muting][target_account_id] } || # - Target account is muted or blocked?
|
||||
crutches[:blocked_by][status.account_id] || # Blocked by status account?
|
||||
crutches[:domain_blocking][status.account.domain] # Blocking domain of status account?
|
||||
end
|
||||
|
||||
# Adds a status to an account's feed, returning true if a status was
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue