mirror of
https://github.com/hoernschen/dendrite.git
synced 2025-07-29 12:42:46 +00:00
Fix invite -> leave -> join
dance when accepting invites (#2817)
As mentioned in https://github.com/matrix-org/dendrite/issues/2361#issuecomment-1139394565 and observed by ourselves, this should fix the odd `invite -> leave -> join` dance when accepting invites.
This commit is contained in:
parent
73e02463cf
commit
40cfb9a4ea
2 changed files with 26 additions and 14 deletions
|
@ -428,6 +428,13 @@ func (s *OutputRoomEventConsumer) onRetireInviteEvent(
|
|||
return
|
||||
}
|
||||
|
||||
// Only notify clients about retired invite events, if the user didn't accept the invite.
|
||||
// The PDU stream will also receive an event about accepting the invitation, so there should
|
||||
// be a "smooth" transition from invite -> join, and not invite -> leave -> join
|
||||
if msg.Membership == gomatrixserverlib.Join {
|
||||
return
|
||||
}
|
||||
|
||||
// Notify any active sync requests that the invite has been retired.
|
||||
s.inviteStream.Advance(pduPos)
|
||||
s.notifier.OnNewInvite(types.StreamingToken{InvitePosition: pduPos}, msg.TargetUserID)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue