Use likes and shares totalItems on status creations and updates (#32620)
				
					
				
			This commit is contained in:
		@@ -303,12 +303,34 @@ class Status < ApplicationRecord
 | 
			
		||||
    status_stat&.favourites_count || 0
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # Reblogs count received from an external instance
 | 
			
		||||
  def untrusted_reblogs_count
 | 
			
		||||
    status_stat&.untrusted_reblogs_count unless local?
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # Favourites count received from an external instance
 | 
			
		||||
  def untrusted_favourites_count
 | 
			
		||||
    status_stat&.untrusted_favourites_count unless local?
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def increment_count!(key)
 | 
			
		||||
    update_status_stat!(key => public_send(key) + 1)
 | 
			
		||||
    if key == :favourites_count && !untrusted_favourites_count.nil?
 | 
			
		||||
      update_status_stat!(favourites_count: favourites_count + 1, untrusted_favourites_count: untrusted_favourites_count + 1)
 | 
			
		||||
    elsif key == :reblogs_count && !untrusted_reblogs_count.nil?
 | 
			
		||||
      update_status_stat!(reblogs_count: reblogs_count + 1, untrusted_reblogs_count: untrusted_reblogs_count + 1)
 | 
			
		||||
    else
 | 
			
		||||
      update_status_stat!(key => public_send(key) + 1)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def decrement_count!(key)
 | 
			
		||||
    update_status_stat!(key => [public_send(key) - 1, 0].max)
 | 
			
		||||
    if key == :favourites_count && !untrusted_favourites_count.nil?
 | 
			
		||||
      update_status_stat!(favourites_count: [favourites_count - 1, 0].max, untrusted_favourites_count: [untrusted_favourites_count - 1, 0].max)
 | 
			
		||||
    elsif key == :reblogs_count && !untrusted_reblogs_count.nil?
 | 
			
		||||
      update_status_stat!(reblogs_count: [reblogs_count - 1, 0].max, untrusted_reblogs_count: [untrusted_reblogs_count - 1, 0].max)
 | 
			
		||||
    else
 | 
			
		||||
      update_status_stat!(key => [public_send(key) - 1, 0].max)
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def trendable?
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user