mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-07 06:53:09 -06:00
removed assertions, optimized parsing
This commit is contained in:
parent
057cf0ee2f
commit
b3742f722a
|
|
@ -601,9 +601,11 @@ func (s *OutputRoomEventConsumer) writeFTS(ev *rstypes.HeaderedEvent, pduPositio
|
|||
}
|
||||
e.SetContentType(ev.Type())
|
||||
|
||||
var relatesTo gjson.Result
|
||||
switch ev.Type() {
|
||||
case "m.room.message":
|
||||
e.Content = gjson.GetBytes(ev.Content(), "body").String()
|
||||
relatesTo = gjson.GetBytes(ev.Content(), "m\\.relates_to")
|
||||
case spec.MRoomName:
|
||||
e.Content = gjson.GetBytes(ev.Content(), "name").String()
|
||||
case spec.MRoomTopic:
|
||||
|
|
@ -624,13 +626,12 @@ func (s *OutputRoomEventConsumer) writeFTS(ev *rstypes.HeaderedEvent, pduPositio
|
|||
}
|
||||
// If the event is an edited message we remove the original event from the index
|
||||
// to avoid duplicates in the search results.
|
||||
relatesTo := gjson.GetBytes(ev.Content(), "m\\.relates_to")
|
||||
if relatesTo.Exists() {
|
||||
relatedData := relatesTo.Value().(map[string]interface{})
|
||||
if _, ok := relatedData["rel_type"]; ok && relatedData["rel_type"] == "m.replace" {
|
||||
relatedData := relatesTo.Map()
|
||||
if _, ok := relatedData["rel_type"]; ok && relatedData["rel_type"].Str == "m.replace" {
|
||||
// We remove the original event from the index
|
||||
if srcEventID, ok := relatedData["event_id"]; ok {
|
||||
if err := s.fts.Delete(srcEventID.(string)); err != nil {
|
||||
if err := s.fts.Delete(srcEventID.Str); err != nil {
|
||||
log.WithFields(log.Fields{
|
||||
"event_id": ev.EventID(),
|
||||
"src_id": srcEventID,
|
||||
|
|
|
|||
Loading…
Reference in a new issue