From caccf7c663d519a3c65f8b69a467fc26a0c1037c Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Wed, 15 Jun 2022 10:20:56 +0100 Subject: [PATCH] aaaaargh --- roomserver/storage/shared/storage.go | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/roomserver/storage/shared/storage.go b/roomserver/storage/shared/storage.go index b1c5ef275..6c5a21659 100644 --- a/roomserver/storage/shared/storage.go +++ b/roomserver/storage/shared/storage.go @@ -487,29 +487,20 @@ func (d *Database) events( roomVersions[n] = v } for _, eventJSON := range eventJSONs { - result := types.Event{ - EventNID: eventJSON.EventNID, - } - roomNID := roomNIDs[result.EventNID] + eventNID := eventJSON.EventNID + result := &results[positions[eventNID]] + result.EventNID = eventNID + roomNID := roomNIDs[eventNID] result.Event, err = gomatrixserverlib.NewEventFromTrustedJSONWithEventID( - eventIDs[result.EventNID], eventJSON.EventJSON, false, roomVersions[roomNID], + eventIDs[eventNID], eventJSON.EventJSON, false, roomVersions[roomNID], ) if err != nil { return nil, err } - pos, ok := positions[result.EventNID] - if !ok { - panic("should have position") - } - delete(positions, result.EventNID) - results[pos] = result if result.Event != nil { - d.Cache.StoreRoomServerEvent(result.EventNID, result.Event) + d.Cache.StoreRoomServerEvent(eventNID, result.Event) } } - if len(positions) > 0 { - panic("unsatisfied events") - } if !redactionsArePermanent { d.applyRedactions(results) }