From 0383173a79c6ad57a7e02bbfaec972a7edeec0ad Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Wed, 29 Jun 2022 10:01:42 +0100 Subject: [PATCH] Don't freak if we can't find the event NID --- roomserver/storage/shared/membership_updater.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/roomserver/storage/shared/membership_updater.go b/roomserver/storage/shared/membership_updater.go index ba2f7f0c5..b07712e9a 100644 --- a/roomserver/storage/shared/membership_updater.go +++ b/roomserver/storage/shared/membership_updater.go @@ -103,10 +103,9 @@ func (u *MembershipUpdater) Update(newMembership tables.MembershipState, event * return fmt.Errorf("u.d.AssignStateKeyNID: %w", err) } eventID := event.EventID() - eventNIDs, err := u.d.eventNIDs(u.ctx, u.txn, []string{eventID}, false) - if err != nil { - return fmt.Errorf("u.d.eventNIDs: %w", err) - } + // It's possible the event isn't persisted, i.e. in the case of invites, + // so don't error if we can't find the event NID. + eventNIDs, _ := u.d.eventNIDs(u.ctx, u.txn, []string{eventID}, false) inserted, err = u.d.MembershipTable.UpdateMembership(u.ctx, u.txn, u.roomNID, u.targetUserNID, senderUserNID, newMembership, eventNIDs[eventID], false) if err != nil { return fmt.Errorf("u.d.MembershipTable.UpdateMembership: %w", err)