From 17a5d84f3063b4ca1022ec95f77e45358da9f4d9 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Fri, 28 Aug 2020 17:24:02 +0100 Subject: [PATCH] Send cumulative state with new events --- roomserver/api/wrapper.go | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/roomserver/api/wrapper.go b/roomserver/api/wrapper.go index 1d2b07869..9529109e9 100644 --- a/roomserver/api/wrapper.go +++ b/roomserver/api/wrapper.go @@ -54,20 +54,23 @@ func SendEventWithState( } var ires []InputRoomEvent + var stateEventIDs []string + for _, outlier := range outliers { if haveEventIDs[outlier.EventID()] { continue } - ires = append(ires, InputRoomEvent{ + in := InputRoomEvent{ Kind: stateKind, Event: outlier.Headered(event.RoomVersion), AuthEventIDs: outlier.AuthEventIDs(), - }) - } - - stateEventIDs := make([]string, len(state.StateEvents)) - for i := range state.StateEvents { - stateEventIDs[i] = state.StateEvents[i].EventID() + } + if stateKind == KindNew { + in.HasState = true + in.StateEventIDs = stateEventIDs + } + ires = append(ires, in) + stateEventIDs = append(stateEventIDs, outlier.EventID()) } ires = append(ires, InputRoomEvent{