Misc clarifications

travis/msc/user-redact
Travis Ralston 5 months ago
parent 6d92bbaa5b
commit 687db4ccfc

@ -31,9 +31,13 @@ events of that type to keep the same expectations within rooms. If the sender do
to redact an event normally, no redaction is applied.
If the sender is allowed to redact, the redaction behaviour continues until the membership event itself
is redacted (thus removing the field) or another membership event removes the field. For example, if
the user is unbanned, the moderator MAY NOT choose to carry the `redact_events` flag to that kick
(unban) event. Or, when the user rejoins after a kick, the flag is implicitly dropped.
is redacted (thus removing the field), another membership event removes the field, or the flag is set
to `false`. Events already redacted up to that point remain redacted after the flag changes to a falsey
value. For example, if the user is unbanned, the moderator MAY NOT choose to carry the `redact_events`
flag to that kick (unban) event. Or, when the user rejoins after a kick, the flag is implicitly dropped.
In essence, the `redact_events` flag applies to all events which topologically come before the falsey
value.
Events which are delivered after the ban are likely [soft failed](https://spec.matrix.org/v1.14/server-server-api/#soft-failure)
and are still redacted if the current membership event in the room has a valid `redact_events`
@ -109,6 +113,21 @@ inspect `redacted_because` instead of checking for its presence to determine whi
was applied to a given event. This is especially true if the moderation bot/client is providing the
fallback support described above.
If a user is banned using `redact_events: true`, unbanned, rejoins, sends more events, and is banned
again using `redact_events: true`, the user's events between bans will be subsequently redacted. The
events redacted by the first ban may also be re-redacted by servers/clients depending on implementation.
This is considered expected behaviour, and implementations can internally track which events they've
already auto-redacted to avoid duplicate work.
With respect to the fallback behaviour, a client might not know if a server is applying fallback
redactions and may not wish to wait an arbitrary amount of time to see if it does. One solution would
be to have the server expose a [capability](https://spec.matrix.org/v1.15/client-server-api/#capabilities-negotiation),
however such a flag would be longer lived than the fallback behaviour itself (hopefully). Instead,
clients which don't implement watchdog functionality SHOULD send redactions anyway, even if it
duplicates the server's fallback efforts. Further, as already mentioned above, server MAY deduplicate
redactions to lower their federation load, though this is closer to a SHOULD considering clients are
already sending their own redaction events (like in the case of Mjolnir).
## Alternatives
Mass redactions are the cited major alternative, where a single event can target approximately 1500

Loading…
Cancel
Save