element-hq / element-hq/synapse

Experimental feature: MSC4370 `GET /extremities` endpoint

Open
#19,524 0 comments 1 reaction 0 assignees View on GitHub
T-ExperimentalFeature
Dominant language
Python
Stars
4.6k
Forks
600
Avg merge
5d 22h
Merged PRs (30d)
51

Description

Tracking issue for https://github.com/matrix-org/matrix-spec-proposals/pull/4370

## Context

T&S is exploring what DAG-level tooling might look like through [policy servers](https://matrix.org/blog/2025/12/policyserv/). This new federation endpoint is expected to be used to allow lightweight server implementations (like [policyserv](https://github.com/matrix-org/policyserv)) to send events and retrieve "current" state information about rooms.

It is *not* enabled by default.

## Current design in Synapse

The endpoint is implemented as a "normal" federation endpoint. Its implementation is copy/pasted from the `make_[join|leave|knock]` endpoints as they return similar information.

## Caveats

The naming might change as the proposal works through the spec process. As of writing, the MSC has only had high level review.

## When to remove

The *unstable* feature can be removed in these cases:

* Immediately upon MSC rejection.
* At least 2 months after a stable implementation (implying MSC acceptance). Can probably be earlier after talking to/convincing T&S.
* Immediately after T&S says it's fine to remove (T&S may need prompting to make this decision)

Contributor guide

Open the contributing guide

Research direction

Start by reading MSC4370 and its linked proposal pull request, then inspect Synapse's existing federation make_join, make_leave, and make_knock endpoint implementations referenced in the issue. The issue does not name files or tests; completion depends on the proposal's status and coordination with T&S about when the unstable feature may be removed.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend-api-design
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.