]> cat aescling's git repositories - mastodon.git/commitdiff
Record trending tags from ActivityPub, too (#7647)
authorEugen Rochko <eugen@zeonfederated.com>
Mon, 28 May 2018 03:21:04 +0000 (05:21 +0200)
committerYamagishi Kazutoshi <ykzts@desire.sh>
Mon, 28 May 2018 03:21:04 +0000 (12:21 +0900)
app/lib/activitypub/activity/create.rb

index 010ed1bb5f042ff0724b346d6e13c494dd0b5d2e..869749f1ec4749c311b32dcd15ab8c05d3846937 100644 (file)
@@ -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