matrix-org / matrix-org/matrix-spec
Server-Server API does not specify that sending servers need to be able to give `prev_events` for the events that they send
- Dominant language
- HTML
- Stars
- 330
- Forks
- 150
- Avg merge
- 2h 21m
- Merged PRs (30d)
- 3
Description
**Link to problem area**: https://spec.matrix.org/v1.3/server-server-api/#checks-performed-on-receipt-of-a-pdu
Link to relevant Synapse code: https://github.com/matrix-org/synapse/blob/0bf180cbb43f6e3d489ddaa5d66226b6daeea027/synapse/handlers/federation_event.py#L307-L315
**Issue**
Synapse requires that a remote homeserver which is sending an event is able to produce, on demand, the `prev_events` for that event via `/get_missing_events`. This does not appear to be made clear in the specification, which I think could be troublesome for interoperability.
It also just seems like something that is worth noting; particularly when looking to implement faster room joins, this is something that has come up.
Contributor guide
Research direction
Read the linked Server-Server API section, then compare its receipt checks with the linked Synapse federation_event.py code around lines 307-315. Update the specification to state that sending servers must be able to provide the prev_events for events they send, and confirm the wording clearly addresses interoperability.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- html
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100