diff --git a/Signal/src/ViewControllers/HomeView/ConversationSearchViewController.swift b/Signal/src/ViewControllers/HomeView/ConversationSearchViewController.swift
index 778367716..d9419bc4d 100644
--- a/Signal/src/ViewControllers/HomeView/ConversationSearchViewController.swift
+++ b/Signal/src/ViewControllers/HomeView/ConversationSearchViewController.swift
@@ -191,22 +191,18 @@ class ConversationSearchViewController: UITableViewController {
}
overrideTimestamp = NSNumber(value: message.timestamp)
- guard let snippet = searchResult.snippet else {
+ guard let rawSnippet = searchResult.snippet else {
owsFail("\(ConversationSearchViewController.logTag) message search result is missing snippet")
return
}
- guard let snippetData = snippet.data(using: String.Encoding.utf8) else {
- owsFail("\(ConversationSearchViewController.logTag) message search result has invalid snippet")
- return
- }
- do {
- let snippetOptions = [NSAttributedString.DocumentReadingOptionKey.documentType: NSAttributedString.DocumentType.html]
- overrideSnippet = try NSAttributedString(data: snippetData,
- options: snippetOptions,
- documentAttributes: nil)
- } catch {
- owsFail("\(ConversationSearchViewController.logTag) could not parse message snippet")
- }
+ // YDB uses bold tags to highlight matches within the snippet.
+ let filteredSnippet = rawSnippet
+ .replacingOccurrences(of: "", with: "")
+ .replacingOccurrences(of: "", with: "")
+ .replacingOccurrences(of: "", with: "")
+ .replacingOccurrences(of: "", with: "")
+
+ overrideSnippet = NSAttributedString(string: filteredSnippet)
}
cell.configure(withThread: searchResult.thread,
diff --git a/SignalMessaging/utils/ConversationSearcher.swift b/SignalMessaging/utils/ConversationSearcher.swift
index 90f7e8b31..965553ef3 100644
--- a/SignalMessaging/utils/ConversationSearcher.swift
+++ b/SignalMessaging/utils/ConversationSearcher.swift
@@ -106,6 +106,7 @@ public class ConversationSearcher: NSObject {
var existingConversationRecipientIds: Set = Set()
self.finder.enumerateObjects(searchText: searchText, transaction: transaction) { (match: Any, snippet: String?) in
+
if let thread = match as? TSThread {
let threadViewModel = ThreadViewModel(thread: thread, transaction: transaction)
let snippet: String? = thread.lastMessageText(transaction: transaction)