-
-
Notifications
You must be signed in to change notification settings - Fork 126
Description
Link to problem area:
Possibly other areas too but the most obvious one to me would be the following:
matrix-spec/content/client-server-api/_index.md
Lines 3180 to 3186 in a2027a3
| Redacted events can still affect the state of the room. When redacted, | |
| state events behave as though their properties were simply not | |
| specified, except those protected by the redaction algorithm. For | |
| example, a redacted `join` event will still result in the user being | |
| considered joined. Similarly, a redacted topic does not necessarily | |
| cause the topic to revert to what it was prior to the event - it causes | |
| the topic to be removed from the room. |
Issue
This came up whilst implementing spaces on Element X. The spec suggests that children can be removed from spaces via redaction, but Element Web doesn't support this and expects empty m.space.child/parent events to be sent instead. Following further discussion, @dkasak summarised the issue like so:
In my mind, redactions have one and only one purpose: to redact information meant for consumption by other humans from a message. They should never be used for anything that could have an effect, such as removing any kind of authorization data.
It was also always my impression that they were never designed for any other purpose than removing human level information?
It's not that you shouldn't redact state events, that's an entirely valid thing to do. It's that you shouldn't expect that redacting a state event is going to somehow remove its effect.