diff options
author | Shay <hillerys@element.io> | 2023-07-23 16:32:01 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-23 16:32:01 -0700 |
commit | 5c7364fea57e24ae3ce2ac833a3521abd58312db (patch) | |
tree | 2df6dd437d8c6f978569b50ad0fa01f0074c076c /synapse/events | |
parent | Actually stop reading from column `user_id` of tables `profiles` (#15955) (diff) | |
download | synapse-5c7364fea57e24ae3ce2ac833a3521abd58312db.tar.xz |
Properly handle redactions of creation events (#15973)
Diffstat (limited to 'synapse/events')
-rw-r--r-- | synapse/events/utils.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/synapse/events/utils.py b/synapse/events/utils.py index ecfc5c0568..c890833b1d 100644 --- a/synapse/events/utils.py +++ b/synapse/events/utils.py @@ -136,11 +136,13 @@ def prune_event_dict(room_version: RoomVersion, event_dict: JsonDict) -> JsonDic ] elif event_type == EventTypes.Create: - # MSC2176 rules state that create events cannot be redacted. if room_version.updated_redaction_rules: - return event_dict + # MSC2176 rules state that create events cannot have their `content` redacted. + new_content = event_dict["content"] + elif not room_version.implicit_room_creator: + # Some room versions give meaning to `creator` + add_fields("creator") - add_fields("creator") elif event_type == EventTypes.JoinRules: add_fields("join_rule") if room_version.restricted_join_rule: |