element-hq / element-hq/element-call

MSC4143 endpoint fails on non-FQDN Synapse (/transport returns 404)

Open
#3,643 20 comments 0 reactions 0 assignees View on GitHub
X-Needs-Info
Dominant language
TypeScript
Stars
996
Forks
213
Avg merge
1d 6h
Merged PRs (30d)
54

Description

### Steps to reproduce

1. Where are you starting? What can you see?
Start with a fresh Element Call deployment connected to a Synapse homeserver.
The homeserver server_name is set to a non-FQDN hostname (e.g., myserver).
Synapse is running latest stable release (e.g., v1.144.0).
Element Call is loaded in a browser or client app.
You can see the Element Call interface ready to log in / make a call.
2. What do you click?
Log in to Element Call with a valid account.
Navigate to the “Start a Call” or “Join a Room” feature.
The client attempts to discover the RTC backend (SFU / LiveKit) automatically.
3. More steps…
The client sends a request to:
https:///_matrix/client
MSC4143 discovery is not attempted.
If you try to manually request the MSC4143 transport endpoint:
GET /_matrix/client/unstable/org.matrix.msc4143/transport
Synapse responds with:
{"errcode":"M_UNRECOGNIZED","error":"Unrecognized request"}
6. Notes / Additional info
This is essentially the same problem reported in element-call issue element-hq/element-x-ios#3566.
Related PRs/issues: element-hq/element-x-ios#3629 (partial MSC4143 support), element-hq/element-x-ios#3569, element-hq/element-x-ios#3612.
Even after upgrading Synapse, MSC4143 discovery does not work.

### Outcome

#### What did you expect?
The client should query the MSC4143 endpoint.
Synapse should return valid transport information JSON.
Element Call should successfully discover the RTC backend without falling back to _matrix/client.
Non-FQDN server_name should not prevent MSC4143 from functioning.
#### What happened instead?
MSC4143 endpoint is unavailable / returns 404 or M_UNRECOGNIZED.
Element Call falls back to _matrix/client.
Calls fail because the client cannot locate the RTC backend.
No configuration option exists in Synapse to enable MSC4143.

### Operating system

_No response_

### Browser information

_No response_

### URL for webapp

_No response_

### Will you send logs?

Yes

Contributor guide

Open the contributing guide

Research direction

No source file or test is named. Reproduce the non-FQDN case, inspect requests to /_matrix/client and the MSC4143 /transport endpoint, and compare discovery behavior; done means the client queries MSC4143, receives valid transport JSON, and does not fall back to _matrix/client.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.