]> cat aescling's git repositories - mastodon.git/commitdiff
Fix hashtag timeline REST API accepting too many hashtags (#12091)
authorEugen Rochko <eugen@zeonfederated.com>
Mon, 7 Oct 2019 01:56:21 +0000 (03:56 +0200)
committerGitHub <noreply@github.com>
Mon, 7 Oct 2019 01:56:21 +0000 (03:56 +0200)
app/services/hashtag_query_service.rb

index 282821710a6189b2cd9756191b316dbfcef21640..196de0639205b20596ea5968210234ab390c5b08 100644 (file)
@@ -1,6 +1,8 @@
 # frozen_string_literal: true
 
 class HashtagQueryService < BaseService
+  LIMIT_PER_MODE = 4
+
   def call(tag, params, account = nil, local = false)
     tags = tags_for(Array(tag.name) | Array(params[:any])).pluck(:id)
     all  = tags_for(params[:all])
@@ -15,6 +17,6 @@ class HashtagQueryService < BaseService
   private
 
   def tags_for(names)
-    Tag.matching_name(names) if names.presence
+    Tag.matching_name(Array(names).take(LIMIT_PER_MODE)) if names.present?
   end
 end