aboutsummaryrefslogtreecommitdiff
path: root/syncapi/consumers
diff options
context:
space:
mode:
Diffstat (limited to 'syncapi/consumers')
-rw-r--r--syncapi/consumers/roomserver.go29
1 files changed, 14 insertions, 15 deletions
diff --git a/syncapi/consumers/roomserver.go b/syncapi/consumers/roomserver.go
index e6b5ddbb..7ba3afc4 100644
--- a/syncapi/consumers/roomserver.go
+++ b/syncapi/consumers/roomserver.go
@@ -558,29 +558,28 @@ 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
}
- 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 := ""
+ if stateKey != "" {
+ var sku *spec.UserID
+ sku, err = s.rsAPI.QueryUserIDForSender(s.ctx, *validRoomID, spec.SenderID(stateKey))
+ if err == nil && sku != nil {
+ 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