-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Faster joins: handle gappy /syncs
#12645
Comments
I think the code we care about is here: synapse/synapse/handlers/sync.py Lines 923 to 978 in ade3008
which basically gets the state at the end of the last sync response and the state at the start of the current sync response, takes the delta, and removes any state events that will appear in the timeline anyway. One way of fixing this is to somehow set the |
I think this is fine. The only state that we might think we sent, but didn't, are When
so in the following sequence, the gappy
|
Complement test: matrix-org/complement#390 |
The test has been merged. Please reopen if I've missed anything. |
We need to make sure that we're handling gappy
/syncs
correctly. It would be easy to think that we sent more state to the clients than we did, and we'll need to check this and write tests.To do this, we'll first have to understand the existing code for tracking which state we have sent to clients. It looks entirely magical.
The text was updated successfully, but these errors were encountered: