From 20aec70eadca81de61701bfda506319d593376d2 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Wed, 14 Oct 2020 09:57:27 +0100 Subject: [PATCH] Send cumulative state when creating room (#1519) * Send state with new room events * lookupEvent sends outliers * Revert "lookupEvent sends outliers" This reverts commit 3e1655644105a542b806e28d6d2536fbd23ecc83. --- clientapi/routing/createroom.go | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/clientapi/routing/createroom.go b/clientapi/routing/createroom.go index af43064f..9655339c 100644 --- a/clientapi/routing/createroom.go +++ b/clientapi/routing/createroom.go @@ -339,12 +339,21 @@ func createRoom( util.GetLogger(req.Context()).WithError(err).Error("authEvents.AddEvent failed") return jsonerror.InternalServerError() } - } - // send events to the room server - if err = roomserverAPI.SendEvents(req.Context(), rsAPI, builtEvents, cfg.Matrix.ServerName, nil); err != nil { - util.GetLogger(req.Context()).WithError(err).Error("SendEvents failed") - return jsonerror.InternalServerError() + accumulated := gomatrixserverlib.UnwrapEventHeaders(builtEvents) + if err = roomserverAPI.SendEventWithState( + req.Context(), + rsAPI, + &gomatrixserverlib.RespState{ + StateEvents: accumulated, + AuthEvents: accumulated, + }, + ev.Headered(roomVersion), + nil, + ); err != nil { + util.GetLogger(req.Context()).WithError(err).Error("SendEventWithState failed") + return jsonerror.InternalServerError() + } } // TODO(#269): Reserve room alias while we create the room. This stops us