-
Notifications
You must be signed in to change notification settings - Fork 2
~20 messages missing from backscroll while back-paginating #39
Comments
This is exactly after having refreshed after #15 (comment) happened, same room and same gap. |
(There was nothing relevant in the console) |
Backfill was indeed obtained with the previousToken we see in #15 (comment) |
It seemed to have stored only the first event in the backfill, and removed the previousToken, closing the gap. |
Ok, I think I know what happened. The first message that was not persisted from the backfill was a message that was already stored in our database at a later point in the timeline (within the same fragment) that came in over sync. So looks like synapse repeated an event, brawl detected it already knew about the event and closed the gap. Apparently we're not checking which fragment that event is in, and we're not changing the fragment id of the previous fragment (if there is already a previous fragment) (probably for the best in this case or previous fragment would have been the same as the fragment's own id === 19). We should file a synapse bug and make our code more robust. |
Filed matrix-org/synapse#7164 |
This is probably what happened in #15 actually Since the previousId === id now, when going back to this room, I can't scroll past fragment 19 and there is no gap fill button. Exactly the same symptoms. |
And also the initial error we saw at #15 (comment) |
so, things to do when filling a gap:
When the fragment is not linked up already in the fill direction (this would only be the case when we start supporting different islands, e.g. a permalink island and the sync island), we can at least detect if the found event id is at the expected edge (e.g. backfilling should collide with an event at the end of a fragment). And the fragment id should obviously not be the same. |
https://matrix.org/docs/spec/client_server/latest#syncing actually has a warning about duplicate events, which is exactly what we reported at matrix-org/synapse#7164, so specced behaviour, not a server bug. |
Looks like the previousToken was removed too soon, and messages from back-paginating weren't even persisted. All the extracted info at https://matrix.to/#/!hmSsLnYZrcUIbuplaG:matrix.org/$1585389963162341Oiitx:matrix.org?via=matrix.org
The text was updated successfully, but these errors were encountered: