From 0dd7ba22f0f9b9d14e4b4e79d31be80d46bdcbe3 Mon Sep 17 00:00:00 2001 From: Devon Hudson Date: Thu, 6 Jul 2023 09:36:34 -0600 Subject: [PATCH] Fix prev event lookup in syncapi --- syncapi/consumers/roomserver.go | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/syncapi/consumers/roomserver.go b/syncapi/consumers/roomserver.go index e6b5ddbb0..626f966bc 100644 --- a/syncapi/consumers/roomserver.go +++ b/syncapi/consumers/roomserver.go @@ -558,29 +558,30 @@ func (s *OutputRoomEventConsumer) updateStateEvent(event *rstypes.HeaderedEvent) var succeeded bool defer sqlutil.EndTransactionWithCheck(snapshot, &succeeded, &err) - prevEvent, err := snapshot.GetStateEvent( - s.ctx, event.RoomID(), event.Type(), stateKey, - ) - if err != nil { - return event, err - } - validRoomID, err := spec.NewRoomID(event.RoomID()) if err != nil { return event, err } + sKeyUser := "" if event.StateKey() != nil { if *event.StateKey() != "" { var sku *spec.UserID sku, err = s.rsAPI.QueryUserIDForSender(s.ctx, *validRoomID, spec.SenderID(stateKey)) if err == nil && sku != nil { - sKey := sku.String() - event.StateKeyResolved = &sKey + sKeyUser = sku.String() + event.StateKeyResolved = &sKeyUser } } } + prevEvent, err := snapshot.GetStateEvent( + s.ctx, event.RoomID(), event.Type(), sKeyUser, + ) + if err != nil { + return event, err + } + userID, err := s.rsAPI.QueryUserIDForSender(s.ctx, *validRoomID, event.SenderID()) if err != nil { return event, err