|
|
@ -81,11 +81,22 @@ class ActivityPub::Activity::Create < ActivityPub::Activity |
|
|
|
@mentions << Mention.new(account: account, silent: true) |
|
|
|
@mentions << Mention.new(account: account, silent: true) |
|
|
|
|
|
|
|
|
|
|
|
# If there is at least one silent mention, then the status can be considered |
|
|
|
# If there is at least one silent mention, then the status can be considered |
|
|
|
# as a limited-audience status, and not strictly a direct message |
|
|
|
# as a limited-audience status, and not strictly a direct message, but only |
|
|
|
|
|
|
|
# if we considered a direct message in the first place |
|
|
|
next unless @params[:visibility] == :direct |
|
|
|
next unless @params[:visibility] == :direct |
|
|
|
|
|
|
|
|
|
|
|
@params[:visibility] = :limited |
|
|
|
@params[:visibility] = :limited |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# If the payload was delivered to a specific inbox, the inbox owner must have |
|
|
|
|
|
|
|
# access to it, unless they already have access to it anyway |
|
|
|
|
|
|
|
return if @options[:delivered_to_account_id].nil? || @mentions.any? { mention.account_id == @options[:delivered_to_account_id] } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@mentions << Mention.new(account_id: @options[:delivered_to_account_id], silent: true) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return unless @param[:visibility] == :direct |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@params[:visibility] = :limited |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
def attach_tags(status) |
|
|
|
def attach_tags(status) |
|
|
|