-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix duplicate leave events #297
Conversation
res = bob.SlidingSyncUntilMembership(t, res.Pos, inviteRoomID, bob, "leave") | ||
|
||
if room, ok := res.Rooms[inviteRoomID]; ok { | ||
// If alice is NOT syncing, we run into this failure mode |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you confirm what part of this test was failing without the diff to user.go
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If Alice is NOT syncing, we receive the leave event twice, once through Accumulate
and once through OnLeftRoom
.
If Alice IS syncing however, the test fails for exactly the same reason - we receive the same event twice, but at a different place in the test. We're syncing as Bob until we left the room, after that we do another SlidingSync
call, which again receives the event.
https://github.com/matrix-org/sliding-sync/actions/runs/6121433636/job/16615233253#step:7:41 was one of the failing tests.
Co-authored-by: kegsay <[email protected]>
Still investigating, but doesn't even seem to require multiple pollers as per #250