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

Live updates may omit newly rejoined rooms #416

Open
kegsay opened this issue Apr 10, 2024 · 1 comment
Open

Live updates may omit newly rejoined rooms #416

kegsay opened this issue Apr 10, 2024 · 1 comment
Assignees
Labels
bug Something isn't working

Comments

@kegsay
Copy link
Member

kegsay commented Apr 10, 2024

Thanks to ganfra for finding this.

I have seen proxyman logs for the following scenario:

I see the room disappearing, and it not returning until a /sync without a ?pos= is performed. Server-side logs show no errors. The room has ~14k users, which do appear in the changed device lists in the encryption connection, so it's clearly processing the join in a timely manner. 15:54:49 INF Poller: accumulated data device [events,changed,left,account]=[0,14269,51,0] device_id=XYBRWRTVYZ rooms [timeline,state,typing,receipts,invites]=[1,1,0,1,0] user_id=@ganfra0804:matrix.org

Ganfra asserts that this is only apparent on large rooms, and it cannot be reproduced on smaller private rooms.

Timings wise:

  • The leave event at 1712764431388 (15:53:51)
  • The rejoin event at 1712764447579 (15:54:07)
  • Gave up on the sync connection at 15:55:38 (pos=22)
  • The initial sync which returns it correctly at 15:55:49

On v0.99.15.


Initial thoughts:

  • is it really only for large rooms? What about small public rooms?
  • If a cache still thought that the user was joined this could explain why it doesn't tell the connection, and why it works on refreshing the connection.
  • write an e2e test to repro this.
@kegsay kegsay added the bug Something isn't working label Apr 10, 2024
@kegsay
Copy link
Member Author

kegsay commented Apr 11, 2024

This happens due to bad interactions with left rooms remaining in the room list. I think it'll be easiest to just remove them completely when they leave (which matches Element X anyways which looks at the timeline).

@kegsay kegsay self-assigned this Apr 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant