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:
136
136
]
137
137
138
138
elif event_type == EventTypes .Create :
139
- # MSC2176 rules state that create events cannot be redacted.
140
139
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" )
142
145
143
- add_fields ("creator" )
144
146
elif event_type == EventTypes .JoinRules :
145
147
add_fields ("join_rule" )
146
148
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:
225
225
},
226
226
)
227
227
228
- # After MSC2176, create events get nothing redacted.
228
+ # After MSC2176, create events should preserve field `content`
229
229
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
+ },
231
236
{
232
237
"type" : "m.room.create" ,
233
238
"content" : {"not_a_real_key" : True },
You can’t perform that action at this time.
0 commit comments