Skip to content
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

Faster room joins: device_lists.left not emitted in /sync response when completing the join and discovering that a user is actually not in the room #13886

Open
matrixbot opened this issue Dec 20, 2023 · 0 comments

Comments

@matrixbot
Copy link
Collaborator

matrixbot commented Dec 20, 2023

This issue has been migrated from #13886.


See the commented out check in the TestPartialStateJoin/Device_list_tracking/Device_list_no_longer_tracked_for_user_incorrectly_believed_to_be_in_room complement test.

That test case is roughly:

  1. A room starts with @charlie:remote, @derek:remote (moderator) and @fred:remote (admin)
  2. @fred:remote leaves the room.
  3. @alice:local partial state joins the room.
  4. @elsie:remote joins the room.
  5. @fred:remote "bans" @derek:remote, citing their join event as auth. The local homeserver does not know that @fred:remote is no longer in the room and accepts the event.
  6. @derek:remote kicks @elsie:remote. The local homeserver incorrectly rejects the kick because it thinks @derek:remote has been banned.
  7. The partial state join completes and @elsie:remote is discovered to really have been kicked.
  8. No device_lists.left entry is emitted.
@matrixbot matrixbot changed the title Dummy issue Faster room joins: device_lists.left not emitted in /sync response when completing the join and discovering that a user is actually not in the room Dec 21, 2023
@matrixbot matrixbot reopened this Dec 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant