FIX: don't error Topic#similar_to when prepared raw is blank (#10711)

If raw contains incorrect URL, `prepare_data` returns empty string:

https://github.com/discourse/discourse/blob/master/lib/search.rb#L91

Therefore we should not only check if the cooked post is not blank but also if prepared data is not blank.
This commit is contained in:
Krzysztof Kotlarek
2020-09-22 07:53:12 +10:00
committed by GitHub
parent 5a832265a3
commit c934a0f759
2 changed files with 8 additions and 2 deletions

View File

@ -597,9 +597,11 @@ class Topic < ActiveRecord::Base
PrettyText.cook(raw[0...MAX_SIMILAR_BODY_LENGTH].strip)
)
if cooked.present?
prepared_data = cooked.present? && Search.prepare_data(cooked)
if prepared_data.present?
raw_tsquery = Search.set_tsquery_weight_filter(
Search.prepare_data(cooked),
prepared_data,
'B'
)