diff options
author | Erik Johnston <erik@matrix.org> | 2014-10-01 18:16:47 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2014-10-01 18:18:44 +0100 |
commit | a940a87ddc5bca1eb497abfc91eb835a61328d5f (patch) | |
tree | a306468d8f9f74659fd25f8ea9c90f9a4066391b /docs | |
parent | Move documented but-unimplemented 'presence idle times' into a new document t... (diff) | |
download | synapse-a940a87ddc5bca1eb497abfc91eb835a61328d5f.tar.xz |
SPEC-25: Add details on how to prune redacted events.
SPEC-25 #comment I've added the details of what the server should do on receipt of a redaction event. In reality it can do whatever it wants, and its probably a reasonable implementation to flag it up to a server admin for verification before actually redacting an event.
Diffstat (limited to 'docs')
-rw-r--r-- | docs/specification.rst | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/docs/specification.rst b/docs/specification.rst index 84801b7d65..22c55ad861 100644 --- a/docs/specification.rst +++ b/docs/specification.rst @@ -1147,6 +1147,36 @@ Currently, only room admins can redact events by sending a ``m.room.redaction`` event, but server admins also need to be able to redact events by a similar mechanism. +Upon receipt of a redaction event, the server should strip off any keys not in +the following list: + + - ``event_id`` + - ``type`` + - ``room_id`` + - ``user_id`` + - ``state_key`` + - ``prev_state`` + - ``content`` + +The content object should also be stripped of all keys, unless it is one of +one of the following event types: + + - ``m.room.member`` allows key ``membership`` + - ``m.room.create`` allows key ``creator`` + - ``m.room.join_rules`` allows key ``join_rule`` + - ``m.room.power_levels`` allows keys that are user ids or ``default`` + - ``m.room.add_state_level`` allows key ``level`` + - ``m.room.send_event_level`` allows key ``level`` + - ``m.room.ops_levels`` allows keys ``kick_level``, ``ban_level`` + and ``redact_level`` + - ``m.room.aliases`` allows key ``aliases`` + +The redaction event should be added under the key ``redacted_because``. + + +When a client receives a redaction event it should change the redacted event +in the same way a server does. + Room Events =========== |