element-hq / element-hq/synapse

`transaction.origin` and `pdu.origin` are redundant and we should remove them

Open
#3,816 0 comments 0 reactions 0 assignees View on GitHub
O-Uncommon S-Minor T-Task
Dominant language
Python
Stars
4.6k
Forks
600
Avg merge
5d 22h
Merged PRs (30d)
51

Description

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

---

both these fields in the server-server api are redundant. transaction.origin is implied by the name of the server you're connected to, while pdu.origin is implied by the domain of the event_id (at least until [MSC1640](https://github.com/matrix-org/matrix-doc/issues/1640) lands, and after that probably has no useful purpose anyway).

Their presence is a foot-gun for server implementors, and led directly to #3796 in synapse. We should remove them from the s2s spec, and make sure that synapse really really doesn't do anything with them

Contributor guide

Open the contributing guide

Research direction

Review the server-server API specification and trace Synapse's handling of transaction.origin and pdu.origin, using #3796 as the reported failure context. Check the implications of MSC1640 before deciding how the fields are removed. Done means the specification no longer includes the redundant fields and Synapse does not use them.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend-api-design
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.