diff options
author | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2024-04-04 12:47:59 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-04 12:47:59 +0100 |
commit | 05957ac70f5d634eafbea61bd79a9a89196507c2 (patch) | |
tree | 760e6a6310abfc7ca0c5a2822c5ca1e93a496e86 /changelog.d/16932.bugfix | |
parent | Add missing index to `access_tokens` table (#17045) (diff) | |
download | synapse-05957ac70f5d634eafbea61bd79a9a89196507c2.tar.xz |
Fix bug in `/sync` response for archived rooms (#16932)
This PR fixes a very, very niche edge-case, but I've got some more work coming which will otherwise make the problem worse. The bug happens when the syncing user leaves a room, and has a sync filter which includes "left" rooms, but sets the timeline limit to 0. In that case, the state returned in the `state` section is calculated incorrectly. The fix is to pass a token corresponding to the point that the user leaves the room through to `compute_state_delta`.
Diffstat (limited to 'changelog.d/16932.bugfix')
-rw-r--r-- | changelog.d/16932.bugfix | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/changelog.d/16932.bugfix b/changelog.d/16932.bugfix new file mode 100644 index 0000000000..624388ea8e --- /dev/null +++ b/changelog.d/16932.bugfix @@ -0,0 +1 @@ +Fix a long-standing bug which could cause incorrect state to be returned from `/sync` for rooms where the user has left. \ No newline at end of file |