diff options
author | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2022-06-01 12:29:51 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-01 11:29:51 +0000 |
commit | 79dadf7216836170af2ac5ef130bfc012b86821c (patch) | |
tree | 1a2d9eebc01653db9347581f537df12b28fb427d /changelog.d/12905.bugfix | |
parent | Fix potential thumbnail memory leaks. (#12932) (diff) | |
download | synapse-79dadf7216836170af2ac5ef130bfc012b86821c.tar.xz |
Fix 404 on `/sync` when the last event is a redaction of an unknown/purged event (#12905)
Currently, we try to pull the event corresponding to a sync token from the database. However, when we fetch redaction events, we check the target of that redaction (because we aren't allowed to send redactions to clients without validating them). So, if the sync token points to a redaction of an event that we don't have, we have a problem. It turns out we don't really need that event, and can just work with its ID and metadata, which sidesteps the whole problem.
Diffstat (limited to 'changelog.d/12905.bugfix')
-rw-r--r-- | changelog.d/12905.bugfix | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/changelog.d/12905.bugfix b/changelog.d/12905.bugfix new file mode 100644 index 0000000000..67e95d0398 --- /dev/null +++ b/changelog.d/12905.bugfix @@ -0,0 +1 @@ +Fix a bug introduced in Synapse 1.58.0 where `/sync` would fail if the most recent event in a room was a redaction of an event that has since been purged. |