diff options
author | Neil Alexander <neilalexander@users.noreply.github.com> | 2022-10-06 10:51:06 +0100 |
---|---|---|
committer | Neil Alexander <neilalexander@users.noreply.github.com> | 2022-10-06 10:51:06 +0100 |
commit | 3f82bceb70050c1233b7de6d87ffa5510596d145 (patch) | |
tree | 31f73535f91cf6e8c61881ec1ff53b5d691e465b /roomserver/internal | |
parent | e53dcb25a9a0258b48fd4f7afddd2c3c54d55b7a (diff) |
Don't try to talk to ourselves when finding missing events
Diffstat (limited to 'roomserver/internal')
-rw-r--r-- | roomserver/internal/input/input_events.go | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/roomserver/internal/input/input_events.go b/roomserver/internal/input/input_events.go index 01fd6201..d1b6bc73 100644 --- a/roomserver/internal/input/input_events.go +++ b/roomserver/internal/input/input_events.go @@ -173,12 +173,15 @@ func (r *Inputer) processRoomEvent( for _, server := range serverRes.ServerNames { servers[server] = struct{}{} } + // Don't try to talk to ourselves. + delete(servers, r.Cfg.Matrix.ServerName) + // Now build up the list of servers. serverRes.ServerNames = serverRes.ServerNames[:0] - if input.Origin != "" { + if input.Origin != "" && input.Origin != r.Cfg.Matrix.ServerName { serverRes.ServerNames = append(serverRes.ServerNames, input.Origin) delete(servers, input.Origin) } - if senderDomain != input.Origin { + if senderDomain != input.Origin && senderDomain != r.Cfg.Matrix.ServerName { serverRes.ServerNames = append(serverRes.ServerNames, senderDomain) delete(servers, senderDomain) } |