From 243f1dbe8e7db51c7f50202ce4ab434999ce2cf1 Mon Sep 17 00:00:00 2001 From: KMY Date: Mon, 16 Oct 2023 18:36:46 +0900 Subject: [PATCH] =?UTF-8?q?Fix:=20=E3=83=AA=E3=83=A2=E3=83=BC=E3=83=88?= =?UTF-8?q?=E3=81=8B=E3=82=89=E8=87=AA=E5=88=86=E3=81=AE=E3=82=B5=E3=83=BC?= =?UTF-8?q?=E3=83=90=E3=83=BC=E3=81=AE=E7=B5=B5=E6=96=87=E5=AD=97=E3=82=92?= =?UTF-8?q?=E4=BD=BF=E3=81=A3=E3=81=A6=E3=82=B9=E3=82=BF=E3=83=B3=E3=83=97?= =?UTF-8?q?=E3=82=92=E3=81=A4=E3=81=91=E3=82=89=E3=82=8C=E3=81=9F=E6=99=82?= =?UTF-8?q?=E3=80=81=E6=97=A2=E5=AD=98=E3=81=AE=E7=B5=B5=E6=96=87=E5=AD=97?= =?UTF-8?q?=E3=81=8C=E6=B6=88=E3=81=88=E3=81=A6=E3=81=97=E3=81=BE=E3=81=86?= =?UTF-8?q?=E5=A0=B4=E5=90=88=E3=81=8C=E3=81=82=E3=82=8B=E5=95=8F=E9=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/lib/activitypub/activity/like.rb | 7 ++++++- spec/lib/activitypub/activity/like_spec.rb | 4 ++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/lib/activitypub/activity/like.rb b/app/lib/activitypub/activity/like.rb index 86aaba076dd317..ba103b1fa7b3f1 100644 --- a/app/lib/activitypub/activity/like.rb +++ b/app/lib/activitypub/activity/like.rb @@ -103,7 +103,12 @@ def process_emoji(tag) return if custom_emoji_parser.shortcode.blank? || custom_emoji_parser.image_remote_url.blank? domain = tag['domain'] || URI.split(custom_emoji_parser.uri)[2] || @account.domain - domain = nil if domain == Rails.configuration.x.local_domain || domain == Rails.configuration.x.web_domain + + if domain == Rails.configuration.x.local_domain || domain == Rails.configuration.x.web_domain + # Block overwriting remote-but-local data + return CustomEmoji.find_by(shortcode: custom_emoji_parser.shortcode, domain: nil) + end + return if domain.present? && skip_download?(domain) emoji = CustomEmoji.find_by(shortcode: custom_emoji_parser.shortcode, domain: domain) diff --git a/spec/lib/activitypub/activity/like_spec.rb b/spec/lib/activitypub/activity/like_spec.rb index 9991ba37dc8a82..16ea81dccdf436 100644 --- a/spec/lib/activitypub/activity/like_spec.rb +++ b/spec/lib/activitypub/activity/like_spec.rb @@ -185,6 +185,10 @@ } end + before do + Fabricate(:custom_emoji, domain: nil, shortcode: 'tinking', license: 'Everyone but Ohagi') + end + it 'create emoji reaction' do expect(subject.count).to eq 1 expect(subject.first.name).to eq 'tinking'