element-hq / element-hq/synapse

Synapse accepts optional unspecced `servers` field in `PUT directory/room/{roomAlias}`

Open
#14,177 0 comments 0 reactions 0 assignees View on GitHub
A-Spec-Compliance O-Uncommon S-Tolerable T-Task X-Consult-Clients Z-Cleanup
Dominant language
Python
Stars
4.6k
Forks
600
Avg merge
5d 22h
Merged PRs (30d)
51

Description

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

---

Spec: https://spec.matrix.org/v1.4/client-server-api/#put_matrixclientv3directoryroomroomalias

https://github.com/matrix-org/synapse/blob/6b99a66fe0260682fa95a0b19d3bee19c1e48876/synapse/rest/client/directory.py#L74-L89

Forwarded to here https://github.com/matrix-org/synapse/blob/1a209efdb2a6c51e52dd277de7581099852877ae/synapse/handlers/directory.py#L173 and to here https://github.com/matrix-org/synapse/blob/1a209efdb2a6c51e52dd277de7581099852877ae/synapse/handlers/directory.py#L93-L95 and eventually written to the database here https://github.com/matrix-org/synapse/blob/3e0536cd2afb5a640619bd872fc27b068ec3eb9b/synapse/storage/databases/main/directory.py#L112-L117

Contributor guide

Open the contributing guide

Research direction

Start with the PUT room-alias handling in synapse/rest/client/directory.py, then follow the references into synapse/handlers/directory.py and synapse/storage/databases/main/directory.py. Compare the accepted request fields with the linked Matrix specification and trace where servers is persisted. Done means the endpoint behavior matches the specification and the unspecced field is no longer accepted or stored.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend, databases
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.