about summary refs log tree commit diff
path: root/app/lib/activitypub/activity
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2018-05-28 05:21:04 +0200
committerYamagishi Kazutoshi <ykzts@desire.sh>2018-05-28 12:21:04 +0900
commitab36e0ef72a52e5cc184d63cda0fe411c8b4086a (patch)
treee8313a08f8486e65e8759c611e376192fd25b2e3 /app/lib/activitypub/activity
parentdfbadd68374ab5ddcaa75907261bd91da688fc6b (diff)
Record trending tags from ActivityPub, too (#7647)
Diffstat (limited to 'app/lib/activitypub/activity')
-rw-r--r--app/lib/activitypub/activity/create.rb7
1 files changed, 5 insertions, 2 deletions
diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb
index 010ed1bb5..869749f1e 100644
--- a/app/lib/activitypub/activity/create.rb
+++ b/app/lib/activitypub/activity/create.rb
@@ -78,9 +78,12 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
     return if tag['name'].blank?
 
     hashtag = tag['name'].gsub(/\A#/, '').mb_chars.downcase
-    hashtag = Tag.where(name: hashtag).first_or_initialize(name: hashtag)
+    hashtag = Tag.where(name: hashtag).first_or_create(name: hashtag)
 
-    status.tags << hashtag unless status.tags.include?(hashtag)
+    return if status.tags.include?(hashtag)
+
+    status.tags << hashtag
+    TrendingTags.record_use!(hashtag, status.account, status.created_at)
   rescue ActiveRecord::RecordInvalid
     nil
   end