Merge branch 'main' into glitch-soc/merge-upstream
This commit is contained in:
		| @@ -59,7 +59,7 @@ class StatusesIndex < Chewy::Index | ||||
|     field :id, type: 'long' | ||||
|     field :account_id, type: 'long' | ||||
|  | ||||
|     field :text, type: 'text', value: ->(status) { [status.spoiler_text, extract_status_plain_text(status)].concat(status.ordered_media_attachments.map(&:description)).concat(status.preloadable_poll ? status.preloadable_poll.options : []).join("\n\n") } do | ||||
|     field :text, type: 'text', value: ->(status) { status.searchable_text } do | ||||
|       field :stemmed, type: 'text', analyzer: 'content' | ||||
|     end | ||||
|  | ||||
|   | ||||
| @@ -12,6 +12,7 @@ module FormattingHelper | ||||
|   def extract_status_plain_text(status) | ||||
|     PlainTextFormatter.new(status.text, status.local?).to_s | ||||
|   end | ||||
|   module_function :extract_status_plain_text | ||||
|  | ||||
|   def status_content_format(status) | ||||
|     html_aware_format(status.text, status.local?, preloaded_accounts: [status.account] + (status.respond_to?(:active_mentions) ? status.active_mentions.map(&:account) : []), content_type: status.content_type) | ||||
|   | ||||
| @@ -5,7 +5,6 @@ require 'singleton' | ||||
| class FeedManager | ||||
|   include Singleton | ||||
|   include Redisable | ||||
|   include FormattingHelper | ||||
|  | ||||
|   # Maximum number of items stored in a single feed | ||||
|   MAX_ITEMS = 400 | ||||
| @@ -501,16 +500,8 @@ class FeedManager | ||||
|     return false if active_filters.empty? | ||||
|  | ||||
|     combined_regex = Regexp.union(active_filters) | ||||
|     status         = status.reblog if status.reblog? | ||||
|  | ||||
|     combined_text = [ | ||||
|       extract_status_plain_text(status), | ||||
|       status.spoiler_text, | ||||
|       status.preloadable_poll ? status.preloadable_poll.options.join("\n\n") : nil, | ||||
|       status.ordered_media_attachments.map(&:description).join("\n\n"), | ||||
|     ].compact.join("\n\n") | ||||
|  | ||||
|     combined_regex.match?(combined_text) | ||||
|     combined_regex.match?(status.proper.searchable_text) | ||||
|   end | ||||
|  | ||||
|   # Adds a status to an account's feed, returning true if a status was | ||||
|   | ||||
| @@ -160,6 +160,15 @@ class Status < ApplicationRecord | ||||
|     ids.uniq | ||||
|   end | ||||
|  | ||||
|   def searchable_text | ||||
|     [ | ||||
|       spoiler_text, | ||||
|       FormattingHelper.extract_status_plain_text(self), | ||||
|       preloadable_poll ? preloadable_poll.options.join("\n\n") : nil, | ||||
|       ordered_media_attachments.map(&:description).join("\n\n"), | ||||
|     ].compact.join("\n\n") | ||||
|   end | ||||
|  | ||||
|   def reply? | ||||
|     !in_reply_to_id.nil? || attributes['reply'] | ||||
|   end | ||||
|   | ||||
		Reference in New Issue
	
	Block a user