Merge remote-tracking branch 'parent/main' into upstream-20241101

This commit is contained in:
KMY 2024-11-01 08:04:03 +09:00
commit 1c1f76697b
200 changed files with 1931 additions and 741 deletions

View file

@ -20,9 +20,9 @@ class ActivityPub::Activity
end
class << self
def factory(json, account, **options)
def factory(json, account, **)
@json = json
klass&.new(json, account, **options)
klass&.new(json, account, **)
end
private

View file

@ -64,6 +64,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
ApplicationRecord.transaction do
@status = Status.create!(@params)
attach_tags(@status)
attach_counts(@status)
end
resolve_thread(@status)
@ -233,6 +234,18 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
end
end
def attach_counts(status)
likes = @status_parser.favourites_count
shares = @status_parser.reblogs_count
return if likes.nil? && shares.nil?
status.status_stat.tap do |status_stat|
status_stat.untrusted_reblogs_count = shares unless shares.nil?
status_stat.untrusted_favourites_count = likes unless likes.nil?
status_stat.save if status_stat.changed?
end
end
def process_tags
return if @object['tag'].nil?

View file

@ -124,6 +124,14 @@ class ActivityPub::Parser::StatusParser
lang.presence && NORMALIZED_LOCALE_NAMES.fetch(lang.downcase.to_sym, lang)
end
def favourites_count
@object.dig(:likes, :totalItems)
end
def reblogs_count
@object.dig(:shares, :totalItems)
end
private
def raw_language_code