-
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
Checkpoint room state #232
Comments
Closed
Plus: after making the new snapshot, emit a cache invalidation payload (#294). |
I think what we need Initialise to do is then:
|
After discussion:
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Users can join and leave rooms. If all users who are using the proxy leave a room, then Stuff happens and someone rejoins, the poller will be resent the entire room state from fresh. We currently do not use this correctly, and instead treat it as a "gappy sync", meaning we take what we previously had as the room state, and "roll forward" using what we are told in the state block.
We shouldn't do that, as it means that we can't handle state resets correctly (i.e we never remove state by rolling forwards), and if we calculate the wrong state in the past (not uncommon), we cannot self-heal by using the latest authoritative answer from upstream.
To do this is reasonably easy. All we need to do is, in
Initialise
:m.room.create
even in thestate
block?The text was updated successfully, but these errors were encountered: