summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2024-04-08 14:55:30 +0100
committerErik Johnston <erik@matrix.org>2024-04-08 14:55:30 +0100
commit562066577cb1b87cc2774c44eef31d0d183639eb (patch)
tree162a0388fbd56f0acb3ff07e12075d909a93550e
parentMerge remote-tracking branch 'origin/develop' into matrix-org-hotfixes (diff)
parentFixups to #17064 (#17065) (diff)
downloadsynapse-562066577cb1b87cc2774c44eef31d0d183639eb.tar.xz
Merge remote-tracking branch 'origin/develop' into matrix-org-hotfixes
-rw-r--r--changelog.d/17065.bugfix1
-rw-r--r--synapse/handlers/sync.py3
2 files changed, 4 insertions, 0 deletions
diff --git a/changelog.d/17065.bugfix b/changelog.d/17065.bugfix
new file mode 100644

index 0000000000..99ed435d75 --- /dev/null +++ b/changelog.d/17065.bugfix
@@ -0,0 +1 @@ +Fix various long-standing bugs which could cause incorrect state to be returned from `/sync` in certain situations. diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py
index 7c29c15540..410805e806 100644 --- a/synapse/handlers/sync.py +++ b/synapse/handlers/sync.py
@@ -1272,8 +1272,11 @@ class SyncHandler: for e in batch.events[1:]: if e.prev_event_ids() != [prev_event_id]: break + prev_event_id = e.event_id else: is_linear_timeline = True + else: + is_linear_timeline = True if is_linear_timeline and not batch.limited: state_ids: StateMap[str] = {}