カスタム絵文字のライセンス変更を他の場所でも保存

This commit is contained in:
KMY 2023-10-07 14:10:19 +09:00
parent b7f0b94c00
commit e81c911349
3 changed files with 17 additions and 9 deletions

View file

@ -256,17 +256,20 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
emoji = CustomEmoji.find_by(shortcode: custom_emoji_parser.shortcode, domain: @account.domain) emoji = CustomEmoji.find_by(shortcode: custom_emoji_parser.shortcode, domain: @account.domain)
return unless emoji.nil? || custom_emoji_parser.image_remote_url != emoji.image_remote_url || (custom_emoji_parser.updated_at && custom_emoji_parser.updated_at >= emoji.updated_at) return unless emoji.nil? ||
custom_emoji_parser.image_remote_url != emoji.image_remote_url ||
(custom_emoji_parser.updated_at && custom_emoji_parser.updated_at >= emoji.updated_at) ||
custom_emoji_parser.license != emoji.license
begin begin
emoji ||= CustomEmoji.new( emoji ||= CustomEmoji.new(
domain: @account.domain, domain: @account.domain,
shortcode: custom_emoji_parser.shortcode, shortcode: custom_emoji_parser.shortcode,
uri: custom_emoji_parser.uri, uri: custom_emoji_parser.uri
is_sensitive: custom_emoji_parser.is_sensitive,
license: custom_emoji_parser.license
) )
emoji.image_remote_url = custom_emoji_parser.image_remote_url emoji.image_remote_url = custom_emoji_parser.image_remote_url
emoji.license = custom_emoji_parser.license
emoji.is_sensitive = custom_emoji_parser.is_sensitive
emoji.save emoji.save
rescue Seahorse::Client::NetworkingError => e rescue Seahorse::Client::NetworkingError => e
Rails.logger.warn "Error storing emoji: #{e}" Rails.logger.warn "Error storing emoji: #{e}"

View file

@ -108,11 +108,11 @@ class ActivityPub::Activity::Like < ActivityPub::Activity
emoji ||= CustomEmoji.new( emoji ||= CustomEmoji.new(
domain: domain, domain: domain,
shortcode: custom_emoji_parser.shortcode, shortcode: custom_emoji_parser.shortcode,
uri: custom_emoji_parser.uri, uri: custom_emoji_parser.uri
is_sensitive: custom_emoji_parser.is_sensitive,
license: custom_emoji_parser.license
) )
emoji.image_remote_url = custom_emoji_parser.image_remote_url emoji.image_remote_url = custom_emoji_parser.image_remote_url
emoji.license = custom_emoji_parser.license
emoji.is_sensitive = custom_emoji_parser.is_sensitive
emoji.save emoji.save
rescue Seahorse::Client::NetworkingError => e rescue Seahorse::Client::NetworkingError => e
Rails.logger.warn "Error storing emoji: #{e}" Rails.logger.warn "Error storing emoji: #{e}"

View file

@ -239,11 +239,16 @@ class ActivityPub::ProcessStatusUpdateService < BaseService
emoji = CustomEmoji.find_by(shortcode: custom_emoji_parser.shortcode, domain: @account.domain) emoji = CustomEmoji.find_by(shortcode: custom_emoji_parser.shortcode, domain: @account.domain)
next unless emoji.nil? || custom_emoji_parser.image_remote_url != emoji.image_remote_url || (custom_emoji_parser.updated_at && custom_emoji_parser.updated_at >= emoji.updated_at) next unless emoji.nil? ||
custom_emoji_parser.image_remote_url != emoji.image_remote_url ||
(custom_emoji_parser.updated_at && custom_emoji_parser.updated_at >= emoji.updated_at) ||
custom_emoji_parser.license != emoji.license
begin begin
emoji ||= CustomEmoji.new(domain: @account.domain, shortcode: custom_emoji_parser.shortcode, uri: custom_emoji_parser.uri, is_sensitive: custom_emoji_parser.is_sensitive, license: custom_emoji_parser.license) emoji ||= CustomEmoji.new(domain: @account.domain, shortcode: custom_emoji_parser.shortcode, uri: custom_emoji_parser.uri)
emoji.image_remote_url = custom_emoji_parser.image_remote_url emoji.image_remote_url = custom_emoji_parser.image_remote_url
emoji.license = custom_emoji_parser.license
emoji.is_sensitive = custom_emoji_parser.is_sensitive
emoji.save emoji.save
rescue Seahorse::Client::NetworkingError => e rescue Seahorse::Client::NetworkingError => e
Rails.logger.warn "Error storing emoji: #{e}" Rails.logger.warn "Error storing emoji: #{e}"