matrix-org / matrix-org/matrix-spec
Unban state propagation isn't explained/is nonexistent for non-participating servers
- Dominant language
- HTML
- Stars
- 330
- Forks
- 150
- Avg merge
- 2h 21m
- Merged PRs (30d)
- 3
Description
#### Problem area
Server behaviour surrounding unbans.
Related bits;
- [Transactions](https://spec.matrix.org/v1.2/server-server-api/#transactions)
- [C-S `/unban`](https://spec.matrix.org/v1.2/client-server-api/#post_matrixclientv3roomsroomidunban)
#### Issue
Basically, if a one-user server (or a server of which only one user is involved) gets banned from a room, and then unbanned, then the unban state is not propagated to that server in any way.
This was originally raised as a [synapse issue](https://github.com/matrix-org/synapse/issues/1563), but I believe this is a wider problem for the federation; Currently, on unban, the unbanned server is not "notified" of the ban, which may lead to wedging if it fails-fast on local state. Neither is there any documentation regarding if servers from unbanned users can fetch state regarding their own users' join state (in any way).
I believe this can be rectified by having the unbanning server do/queue a txn `/send` to the server in question, which'd allow it to recover and reset its internal status.
Related: https://github.com/matrix-org/synapse/issues/1563
Contributor guide
Research direction
Start by comparing the Transactions section with the Client-Server `/unban` section, then review the linked Synapse issue for the existing failure mode. Determine whether federation requires an explicit unban notification or only documentation of how an affected server fetches state; the issue is done when the expected behavior is resolved and specified.
Written by the indexing model from the issue text.
Assessment
- Domain
- backend-api-design, documentation
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100