matrix-org / matrix-org/matrix-spec

Clarify that you can't expect the redaction of a state event to remove its effect.

Open
#2,252 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

clarification
Dominant language
HTML
Stars
330
Forks
150
Avg merge
2h 21m
Merged PRs (30d)
3

Description

Link to problem area:

Possibly other areas too but the most obvious one to me would be the following:

https://github.com/matrix-org/matrix-spec/blob/a2027a398541552b31572c948e7b6bdd2a802adf/content/client-server-api/_index.md?plain=1#L3180-L3186

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.⁦

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the referenced sections in content/client-server-api/_index.md and content/client-server-api/modules/spaces.md, then search for other wording about removing space children via redaction. Clarify that redacting a state event does not necessarily remove its effect, and make the expected alternative behavior unambiguous. Done means the specification no longer suggests redaction alone removes a child from a space.

Written by the indexing model from the issue text.

Assessment

Tech stack
markdown
Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.