This repository was archived by the owner on Mar 26, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +13
-5
lines changed
Expand file tree Collapse file tree 3 files changed +13
-5
lines changed Original file line number Diff line number Diff line change 1+ Properly handle redactions of creation events.
Original file line number Diff line number Diff line change @@ -136,11 +136,13 @@ def add_fields(*fields: str) -> None:
136136 ]
137137
138138 elif event_type == EventTypes .Create :
139- # MSC2176 rules state that create events cannot be redacted.
140139 if room_version .updated_redaction_rules :
141- return event_dict
140+ # MSC2176 rules state that create events cannot have their `content` redacted.
141+ new_content = event_dict ["content" ]
142+ elif not room_version .implicit_room_creator :
143+ # Some room versions give meaning to `creator`
144+ add_fields ("creator" )
142145
143- add_fields ("creator" )
144146 elif event_type == EventTypes .JoinRules :
145147 add_fields ("join_rule" )
146148 if room_version .restricted_join_rule :
Original file line number Diff line number Diff line change @@ -225,9 +225,14 @@ def test_create(self) -> None:
225225 },
226226 )
227227
228- # After MSC2176, create events get nothing redacted.
228+ # After MSC2176, create events should preserve field `content`
229229 self .run_test (
230- {"type" : "m.room.create" , "content" : {"not_a_real_key" : True }},
230+ {
231+ "type" : "m.room.create" ,
232+ "content" : {"not_a_real_key" : True },
233+ "origin" : "some_homeserver" ,
234+ "nonsense_field" : "some_random_garbage" ,
235+ },
231236 {
232237 "type" : "m.room.create" ,
233238 "content" : {"not_a_real_key" : True },
You can’t perform that action at this time.
0 commit comments