UPDATE_SIGN_IN_HOURS = 24
included do
- before_action :set_user_activity, if: %i(user_signed_in? user_needs_sign_in_update?)
+ before_action :set_user_activity
end
private
def set_user_activity
+ return unless user_needs_sign_in_update?
+
# Mark as signed-in today
current_user.update_tracked_fields!(request)
end
def user_needs_sign_in_update?
- current_user.current_sign_in_at.nil? || current_user.current_sign_in_at < UPDATE_SIGN_IN_HOURS.hours.ago
+ user_signed_in? && (current_user.current_sign_in_at.nil? || current_user.current_sign_in_at < UPDATE_SIGN_IN_HOURS.hours.ago)
end
def user_needs_feed_update?
end
def filter_from_home?(status, receiver_id)
- return true if status.reply? && (status.in_reply_to_id.nil? || status.in_reply_to_account_id.nil?)
+ return false if receiver_id == status.account_id
+ return true if status.reply? && (status.in_reply_to_id.nil? || status.in_reply_to_account_id.nil?)
check_for_mutes = [status.account_id]
check_for_mutes.concat([status.reblog.account_id]) if status.reblog?
class << self
def reload_stale_associations!(cached_items)
account_ids = cached_items.map(&:from_account_id).uniq
- accounts = Account.where(id: account_ids).map { |a| [a.id, a] }.to_h
+
+ return if account_ids.empty?
+
+ accounts = Account.where(id: account_ids).map { |a| [a.id, a] }.to_h
cached_items.each do |item|
item.from_account = accounts[item.from_account_id]
account_ids << item.reblog.account_id if item.reblog?
end
- accounts = Account.where(id: account_ids.uniq).map { |a| [a.id, a] }.to_h
+ account_ids.uniq!
+
+ return if account_ids.empty?
+
+ accounts = Account.where(id: account_ids).map { |a| [a.id, a] }.to_h
cached_items.each do |item|
item.account = accounts[item.account_id]