parent
							
								
									55219f11cc
								
							
						
					
					
						commit
						31f396b57d
					
				@ -17,7 +17,7 @@ class ActivityPub::Activity::Announce < ActivityPub::Activity
 | 
				
			|||||||
      uri: @json['id'],
 | 
					      uri: @json['id'],
 | 
				
			||||||
      created_at: @json['published'],
 | 
					      created_at: @json['published'],
 | 
				
			||||||
      override_timestamps: @options[:override_timestamps],
 | 
					      override_timestamps: @options[:override_timestamps],
 | 
				
			||||||
      visibility: original_status.visibility
 | 
					      visibility: visibility_from_audience
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    distribute(status)
 | 
					    distribute(status)
 | 
				
			||||||
@ -26,6 +26,18 @@ class ActivityPub::Activity::Announce < ActivityPub::Activity
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  private
 | 
					  private
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  def visibility_from_audience
 | 
				
			||||||
 | 
					    if equals_or_includes?(@json['to'], ActivityPub::TagManager::COLLECTIONS[:public])
 | 
				
			||||||
 | 
					      :public
 | 
				
			||||||
 | 
					    elsif equals_or_includes?(@json['cc'], ActivityPub::TagManager::COLLECTIONS[:public])
 | 
				
			||||||
 | 
					      :unlisted
 | 
				
			||||||
 | 
					    elsif equals_or_includes?(@json['to'], @account.followers_url)
 | 
				
			||||||
 | 
					      :private
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					      :direct
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  def announceable?(status)
 | 
					  def announceable?(status)
 | 
				
			||||||
    status.account_id == @account.id || status.public_visibility? || status.unlisted_visibility?
 | 
					    status.account_id == @account.id || status.public_visibility? || status.unlisted_visibility?
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
				
			|||||||
@ -478,7 +478,7 @@ class Status < ApplicationRecord
 | 
				
			|||||||
    return if direct_visibility?
 | 
					    return if direct_visibility?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    account&.increment_count!(:statuses_count)
 | 
					    account&.increment_count!(:statuses_count)
 | 
				
			||||||
    reblog&.increment_count!(:reblogs_count) if reblog?
 | 
					    reblog&.increment_count!(:reblogs_count) if reblog? && (public_visibility? || unlisted_visibility?)
 | 
				
			||||||
    thread&.increment_count!(:replies_count) if in_reply_to_id.present? && (public_visibility? || unlisted_visibility?)
 | 
					    thread&.increment_count!(:replies_count) if in_reply_to_id.present? && (public_visibility? || unlisted_visibility?)
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -486,7 +486,7 @@ class Status < ApplicationRecord
 | 
				
			|||||||
    return if direct_visibility? || marked_for_mass_destruction?
 | 
					    return if direct_visibility? || marked_for_mass_destruction?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    account&.decrement_count!(:statuses_count)
 | 
					    account&.decrement_count!(:statuses_count)
 | 
				
			||||||
    reblog&.decrement_count!(:reblogs_count) if reblog?
 | 
					    reblog&.decrement_count!(:reblogs_count) if reblog? && (public_visibility? || unlisted_visibility?)
 | 
				
			||||||
    thread&.decrement_count!(:replies_count) if in_reply_to_id.present? && (public_visibility? || unlisted_visibility?)
 | 
					    thread&.decrement_count!(:replies_count) if in_reply_to_id.present? && (public_visibility? || unlisted_visibility?)
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user