Don't create so many forward extremities

This commit is contained in:
Neil Alexander 2022-04-28 13:20:53 +01:00
parent 26265ff906
commit b71c9e7cea
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944

View file

@ -90,6 +90,7 @@ func (r *Admin) PerformAdminEvacuateRoom(
return return
} }
prevEvents := latestRes.LatestEvents
for _, memberEvent := range memberEvents { for _, memberEvent := range memberEvents {
if memberEvent.StateKey() == nil { if memberEvent.StateKey() == nil {
continue continue
@ -107,10 +108,11 @@ func (r *Admin) PerformAdminEvacuateRoom(
stateKey := *memberEvent.StateKey() stateKey := *memberEvent.StateKey()
fledglingEvent := &gomatrixserverlib.EventBuilder{ fledglingEvent := &gomatrixserverlib.EventBuilder{
RoomID: req.RoomID, RoomID: req.RoomID,
Type: gomatrixserverlib.MRoomMember, Type: gomatrixserverlib.MRoomMember,
StateKey: &stateKey, StateKey: &stateKey,
Sender: stateKey, Sender: stateKey,
PrevEvents: prevEvents,
} }
if fledglingEvent.Content, err = json.Marshal(memberContent); err != nil { if fledglingEvent.Content, err = json.Marshal(memberContent); err != nil {
@ -146,6 +148,9 @@ func (r *Admin) PerformAdminEvacuateRoom(
SendAsServer: string(r.Cfg.Matrix.ServerName), SendAsServer: string(r.Cfg.Matrix.ServerName),
}) })
res.Affected = append(res.Affected, stateKey) res.Affected = append(res.Affected, stateKey)
prevEvents = []gomatrixserverlib.EventReference{
event.EventReference(),
}
} }
inputReq := &api.InputRoomEventsRequest{ inputReq := &api.InputRoomEventsRequest{