From 40edc1db3b8b134c2f581078c47b93bc847a6b49 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Thu, 21 Jul 2022 10:44:29 +0100 Subject: [PATCH] Clean up --- roomserver/internal/input/input_membership.go | 2 +- roomserver/internal/perform/perform_invite.go | 36 +++++++++---------- .../storage/shared/membership_updater.go | 3 -- 3 files changed, 19 insertions(+), 22 deletions(-) diff --git a/roomserver/internal/input/input_membership.go b/roomserver/internal/input/input_membership.go index 1a14e3c6d..28a54623b 100644 --- a/roomserver/internal/input/input_membership.go +++ b/roomserver/internal/input/input_membership.go @@ -80,7 +80,7 @@ func (r *Inputer) updateMemberships( func (r *Inputer) updateMembership( updater *shared.RoomUpdater, targetUserNID types.EventStateKeyNID, - remove, add *types.Event, // *gomatrixserverlib.Event, + remove, add *types.Event, updates []api.OutputEvent, ) ([]api.OutputEvent, error) { var err error diff --git a/roomserver/internal/perform/perform_invite.go b/roomserver/internal/perform/perform_invite.go index 6d3b30394..b7a5e274b 100644 --- a/roomserver/internal/perform/perform_invite.go +++ b/roomserver/internal/perform/perform_invite.go @@ -140,24 +140,6 @@ func (r *Inviter) PerformInvite( return nil, nil } - // Update the membership table for the invite. - updater, err := r.DB.MembershipUpdater(ctx, roomID, targetUserID, isTargetLocal, req.RoomVersion) - if err != nil { - return nil, fmt.Errorf("r.DB.MembershipUpdater: %w", err) - } - ev := &types.Event{ - EventNID: 0, - Event: event.Unwrap(), - } - outputUpdates, err = helpers.UpdateToInviteMembership(updater, ev, outputUpdates, req.Event.RoomVersion) - if err != nil { - return nil, fmt.Errorf("updateToInviteMembership: %w", err) - } - if err = updater.Commit(); err != nil { - return nil, fmt.Errorf("updater.Commit: %w", err) - } - logger.Debugf("updated membership to invite and sending invite OutputEvent") - // If the invite originated remotely then we can't send an // InputRoomEvent for the invite as it will never pass auth checks // due to lacking room state, but we still need to tell the client @@ -183,6 +165,24 @@ func (r *Inviter) PerformInvite( return nil, nil } + // Update the membership table for the invite. + updater, err := r.DB.MembershipUpdater(ctx, roomID, targetUserID, isTargetLocal, req.RoomVersion) + if err != nil { + return nil, fmt.Errorf("r.DB.MembershipUpdater: %w", err) + } + ev := &types.Event{ + EventNID: 0, + Event: event.Unwrap(), + } + outputUpdates, err = helpers.UpdateToInviteMembership(updater, ev, outputUpdates, req.Event.RoomVersion) + if err != nil { + return nil, fmt.Errorf("updateToInviteMembership: %w", err) + } + if err = updater.Commit(); err != nil { + return nil, fmt.Errorf("updater.Commit: %w", err) + } + logger.Debugf("updated membership to invite and sending invite OutputEvent") + // If the invite originated from us and the target isn't local then we // should try and send the invite over federation first. It might be // that the remote user doesn't exist, in which case we can give up diff --git a/roomserver/storage/shared/membership_updater.go b/roomserver/storage/shared/membership_updater.go index e984f79c5..ffcf1f43d 100644 --- a/roomserver/storage/shared/membership_updater.go +++ b/roomserver/storage/shared/membership_updater.go @@ -8,7 +8,6 @@ import ( "github.com/matrix-org/dendrite/roomserver/storage/tables" "github.com/matrix-org/dendrite/roomserver/types" "github.com/matrix-org/gomatrixserverlib" - "github.com/sirupsen/logrus" ) type MembershipUpdater struct { @@ -104,12 +103,10 @@ func (u *MembershipUpdater) Update(newMembership tables.MembershipState, event * return fmt.Errorf("u.d.AssignStateKeyNID: %w", err) } inserted, err = u.d.MembershipTable.UpdateMembership(u.ctx, u.txn, u.roomNID, u.targetUserNID, senderUserNID, newMembership, event.EventNID, false) - logrus.Infof("XXX: Updating membership table room %d user %d membership %d event %d", u.roomNID, u.targetUserNID, newMembership, event.EventNID) if err != nil { return fmt.Errorf("u.d.MembershipTable.UpdateMembership: %w", err) } if !inserted { - logrus.Info("XXX: No change") return nil } switch {