diff options
author | Thibaut Girka <thib@sitedethib.com> | 2018-05-29 13:52:26 +0200 |
---|---|---|
committer | Thibaut Girka <thib@sitedethib.com> | 2018-05-29 13:52:26 +0200 |
commit | c087738270e7fb16b1d284e8dd72cf99b4238bb8 (patch) | |
tree | 23327fe190fd90589c9dc8d64e96fcf0b7d28ddd /app/lib | |
parent | 8b98afa781018bc7cfdb325f6b1fca0b1edcd8cb (diff) | |
parent | 90908fc24ba57c877de75fe117b8cc234e29d4f0 (diff) |
Merge branch 'master' into glitch-soc/merge-upstream
Diffstat (limited to 'app/lib')
-rw-r--r-- | app/lib/activitypub/activity/create.rb | 7 | ||||
-rw-r--r-- | app/lib/ostatus/atom_serializer.rb | 2 |
2 files changed, 6 insertions, 3 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 diff --git a/app/lib/ostatus/atom_serializer.rb b/app/lib/ostatus/atom_serializer.rb index 698f2ee22..5c6ff4f9b 100644 --- a/app/lib/ostatus/atom_serializer.rb +++ b/app/lib/ostatus/atom_serializer.rb @@ -354,7 +354,7 @@ class OStatus::AtomSerializer append_element(entry, 'summary', status.spoiler_text, 'xml:lang': status.language) if status.spoiler_text? append_element(entry, 'content', Formatter.instance.format(status).to_str, type: 'html', 'xml:lang': status.language) - status.mentions.order(:id).each do |mentioned| + status.mentions.sort_by(&:id).each do |mentioned| append_element(entry, 'link', nil, rel: :mentioned, 'ostatus:object-type': OStatus::TagManager::TYPES[:person], href: OStatus::TagManager.instance.uri_for(mentioned.account)) end |