Review comments

This commit is contained in:
Neil Alexander 2020-05-20 17:45:13 +01:00
parent facfea265f
commit 7f7a49f999
3 changed files with 10 additions and 6 deletions

View file

@ -120,7 +120,11 @@ func (r *RoomserverInternalAPI) calculateAndSetState(
// Check here if we think we're in the room already.
stateAtEvent.Overwrite = true
var joinEventNIDs []types.EventNID
// Request join memberships only for local users only.
if joinEventNIDs, err = r.DB.GetMembershipEventNIDsForRoom(ctx, roomNID, true, true); err == nil {
// If we have no local users that are joined to the room then any state about
// the room that we have is quite possibly out of date. Therefore in that case
// we should overwrite it rather than merge it.
stateAtEvent.Overwrite = len(joinEventNIDs) == 0
}
@ -165,9 +169,9 @@ func (r *RoomserverInternalAPI) processInviteEvent(
}).Info("processing invite event")
_, domain, _ := gomatrixserverlib.SplitID('@', targetUserID)
targetLocal := domain == r.Cfg.Matrix.ServerName
isTargetLocalUser := domain == r.Cfg.Matrix.ServerName
updater, err := r.DB.MembershipUpdater(ctx, roomID, targetUserID, targetLocal, input.RoomVersion)
updater, err := r.DB.MembershipUpdater(ctx, roomID, targetUserID, isTargetLocalUser, input.RoomVersion)
if err != nil {
return nil, err
}

View file

@ -132,12 +132,12 @@ func (r *RoomserverInternalAPI) updateMembership(
}
func (r *RoomserverInternalAPI) isLocalTarget(event *gomatrixserverlib.Event) bool {
targetLocal := false
isTargetLocalUser := false
if statekey := event.StateKey(); statekey != nil {
_, domain, _ := gomatrixserverlib.SplitID('@', *statekey)
targetLocal = domain == r.Cfg.Matrix.ServerName
isTargetLocalUser = domain == r.Cfg.Matrix.ServerName
}
return targetLocal
return isTargetLocalUser
}
func updateToInviteMembership(

View file

@ -172,7 +172,7 @@ type RoomRecentEventsUpdater interface {
MarkEventAsSent(eventNID EventNID) error
// Build a membership updater for the target user in this room.
// It will share the same transaction as this updater.
MembershipUpdater(targetUserNID EventStateKeyNID, targetLocal bool) (MembershipUpdater, error)
MembershipUpdater(targetUserNID EventStateKeyNID, isTargetLocalUser bool) (MembershipUpdater, error)
// Implements Transaction so it can be committed or rolledback
common.Transaction
}