element-hq / element-hq/synapse

Faster remote room joins: add an error code to `/members` when in partial state

Open
#14,587 0 comments 0 reactions 0 assignees View on GitHub
A-Federated-Join O-Occasional S-Tolerable T-Enhancement
Dominant language
Python
Stars
4.6k
Forks
600
Avg merge
5d 22h
Merged PRs (30d)
51

Description

This issue has been migrated from [#14587](https://github.com/matrix-org/synapse/issues/14587).

---

For now the request is just stalled until the join completes, which is not ideal since clients are not aware of what is happening.

This requires a MSC to define the error code.
For backward compatibility we also probably need to add a parameter to `/members` so that the client can opt-in to the specific error code.
Or perhaps returning a 5xx is enough ? https://stackoverflow.com/questions/9794696/which-http-status-code-means-not-ready-yet-try-again-later has several suggestions on that subject.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the `/members` endpoint and the Matrix Spec Change (MSC) process, since the issue says a new error code must be defined. Resolve whether clients need an opt-in parameter or a 5xx response, then document the chosen compatibility behavior and error semantics as done.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend
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.