Try to optimise CheckServerAllowedToSeeEvent by ensuring repeated state keys and events aren't requested

This commit is contained in:
Neil Alexander 2021-11-08 14:41:09 +00:00
parent 59cf8e936e
commit a64d019559
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944
2 changed files with 62 additions and 18 deletions

View file

@ -376,8 +376,10 @@ func (r *Queryer) QueryServerAllowedToSeeEvent(
if info == nil {
return fmt.Errorf("QueryServerAllowedToSeeEvent: no room info for room %s", roomID)
}
response.AllowedToSeeEvent, err = helpers.CheckServerAllowedToSeeEvent(
ctx, r.DB, *info, request.EventID, request.ServerName, inRoomRes.IsInRoom,
c := helpers.NewCheckServerAllowedToSeeEventContext(ctx, r.DB, *info)
response.AllowedToSeeEvent, err = c.CheckServerAllowedToSeeEvent(
request.EventID, request.ServerName, inRoomRes.IsInRoom,
)
return
}