Try this again

This commit is contained in:
Neil Alexander 2022-06-15 10:08:24 +01:00
parent 158ffa4ded
commit ba8e1607e2
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944

View file

@ -440,7 +440,6 @@ func (d *Database) events(
inCache := make([]bool, len(inputEventNIDs))
inDatabase := make([]types.EventNID, 0, len(results))
for i, nid := range inputEventNIDs {
positions[nid] = i
if event, ok := d.Cache.GetRoomServerEvent(nid); ok && event != nil {
results[i] = types.Event{
EventNID: nid,
@ -449,6 +448,7 @@ func (d *Database) events(
inCache[i] = true
} else {
inDatabase = append(inDatabase, nid)
positions[nid] = i
}
}
eventJSONs, err := d.EventJSONTable.BulkSelectEventJSON(ctx, txn, inDatabase)
@ -487,21 +487,23 @@ func (d *Database) events(
roomVersions[n] = v
}
for _, eventJSON := range eventJSONs {
eventNID := eventJSON.EventNID
roomNID := roomNIDs[eventNID]
roomVersion := roomVersions[roomNID]
event, err := gomatrixserverlib.NewEventFromTrustedJSONWithEventID(
eventIDs[eventNID], eventJSON.EventJSON, false, roomVersion,
result := types.Event{
EventNID: eventJSON.EventNID,
}
roomNID := roomNIDs[result.EventNID]
result.Event, err = gomatrixserverlib.NewEventFromTrustedJSONWithEventID(
eventIDs[result.EventNID], eventJSON.EventJSON, false, roomVersions[roomNID],
)
if err != nil {
return nil, err
}
results[positions[eventNID]] = types.Event{
EventNID: eventJSON.EventNID,
Event: event,
pos, ok := positions[result.EventNID]
if !ok {
panic("should have position")
}
if event != nil {
d.Cache.StoreRoomServerEvent(eventJSON.EventNID, event)
results[pos] = result
if result.Event != nil {
d.Cache.StoreRoomServerEvent(result.EventNID, result.Event)
}
}
if !redactionsArePermanent {