When a message is edited, they appear twice in the results of /search.
While Element Web seems to aggregate the results and only returns one results, Element Android returns both. This may be a bit confusing.
IMO, Dendrite should only return the latest message.
We'd need to check if m.relates.to in content contains a rel_type of m.replace and then delete the event_id from the fulltext index before indexing the new event.
When a message is edited, they appear twice in the results of
/search
. While Element Web seems to aggregate the results and only returns one results, Element Android returns both. This may be a bit confusing.IMO, Dendrite should only return the latest message.
The responsible code for this: https://github.com/matrix-org/dendrite/blob/14a6c100977be6484eec419fdc8f496eb27b0677/syncapi/consumers/roomserver.go#L593-L627
We'd need to check if
m.relates.to
incontent
contains arel_type
ofm.replace
and then delete theevent_id
from the fulltext index before indexing the new event.