mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-07 15:03: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())
|
e.SetContentType(ev.Type())
|
||||||
|
|
||||||
|
var relatesTo gjson.Result
|
||||||
switch ev.Type() {
|
switch ev.Type() {
|
||||||
case "m.room.message":
|
case "m.room.message":
|
||||||
e.Content = gjson.GetBytes(ev.Content(), "body").String()
|
e.Content = gjson.GetBytes(ev.Content(), "body").String()
|
||||||
|
relatesTo = gjson.GetBytes(ev.Content(), "m\\.relates_to")
|
||||||
case spec.MRoomName:
|
case spec.MRoomName:
|
||||||
e.Content = gjson.GetBytes(ev.Content(), "name").String()
|
e.Content = gjson.GetBytes(ev.Content(), "name").String()
|
||||||
case spec.MRoomTopic:
|
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
|
// If the event is an edited message we remove the original event from the index
|
||||||
// to avoid duplicates in the search results.
|
// to avoid duplicates in the search results.
|
||||||
relatesTo := gjson.GetBytes(ev.Content(), "m\\.relates_to")
|
|
||||||
if relatesTo.Exists() {
|
if relatesTo.Exists() {
|
||||||
relatedData := relatesTo.Value().(map[string]interface{})
|
relatedData := relatesTo.Map()
|
||||||
if _, ok := relatedData["rel_type"]; ok && relatedData["rel_type"] == "m.replace" {
|
if _, ok := relatedData["rel_type"]; ok && relatedData["rel_type"].Str == "m.replace" {
|
||||||
// We remove the original event from the index
|
// We remove the original event from the index
|
||||||
if srcEventID, ok := relatedData["event_id"]; ok {
|
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{
|
log.WithFields(log.Fields{
|
||||||
"event_id": ev.EventID(),
|
"event_id": ev.EventID(),
|
||||||
"src_id": srcEventID,
|
"src_id": srcEventID,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue