matrix-org / matrix-org/matrix-spec

Unban state propagation isn't explained/is nonexistent for non-participating servers

Open
#1,017 3 comments 0 reactions 0 assignees View on GitHub
clarification
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.