Revert behavior change for bundling edits of non-message events (#14283)

This commit is contained in:
Patrick Cloke 2022-10-24 12:07:16 -04:00 committed by GitHub
parent 1e73effebf
commit 581b37b5d6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 4 deletions

1
changelog.d/14283.bugfix Normal file
View file

@ -0,0 +1 @@
Fix a bug introduced in Synapse 1.70.0rc1 where edits to non-message events were aggregated by the homeserver.

View file

@ -484,11 +484,12 @@ class RelationsWorkerStore(SQLBaseStore):
the event will map to None. the event will map to None.
""" """
# We only allow edits for events that have the same sender and event type. # We only allow edits for `m.room.message` events that have the same sender
# We can't assert these things during regular event auth so we have to do # and event type. We can't assert these things during regular event auth so
# the checks post hoc. # we have to do the checks post hoc.
# Fetches latest edit that has the same type and sender as the original. # Fetches latest edit that has the same type and sender as the
# original, and is an `m.room.message`.
if isinstance(self.database_engine, PostgresEngine): if isinstance(self.database_engine, PostgresEngine):
# The `DISTINCT ON` clause will pick the *first* row it encounters, # The `DISTINCT ON` clause will pick the *first* row it encounters,
# so ordering by origin server ts + event ID desc will ensure we get # so ordering by origin server ts + event ID desc will ensure we get
@ -504,6 +505,7 @@ class RelationsWorkerStore(SQLBaseStore):
WHERE WHERE
%s %s
AND relation_type = ? AND relation_type = ?
AND edit.type = 'm.room.message'
ORDER by original.event_id DESC, edit.origin_server_ts DESC, edit.event_id DESC ORDER by original.event_id DESC, edit.origin_server_ts DESC, edit.event_id DESC
""" """
else: else:
@ -522,6 +524,7 @@ class RelationsWorkerStore(SQLBaseStore):
WHERE WHERE
%s %s
AND relation_type = ? AND relation_type = ?
AND edit.type = 'm.room.message'
ORDER by edit.origin_server_ts, edit.event_id ORDER by edit.origin_server_ts, edit.event_id
""" """