element-hq / element-hq/element-ios
Custom Jitsi server support
- Dominant language
- Swift
- Stars
- 1.8k
- Forks
- 544
- PR merge metrics
- PR metrics pending
Description
### Steps to reproduce
Element does not honor jitsi custom server support following [this](https://github.com/vector-im/element-web/blob/develop/docs/jitsi.md#configuring-element-to-use-your-self-hosted-jitsi-server). The call was initiated from iOS using the call button.
My nginx config is as follows:
```
server {
listen 443 ssl;
server_name mydomain.com;
location /.well-known/matrix/server {
add_header Content-Type application/json;
return 200 '{"m.server": "matrix.mydomain.com:443"}';
}
location /.well-known/matrix/client {
add_header Access-Control-Allow-Origin "*";
add_header Content-Type "application/json";
return 200 '{"im.vector.riot.jitsi": {"preferredDomain": "meet.mydomain.com"}}';
}
ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem;
}
```
Unfortunately, Element iOS uses "domain": "jitsi.riot.im" instead of "meet.mydomain.com".
### Outcome
#### What did you expect?
Element should use the jitsi server specified.
#### What happened instead?
It uses jitsi.riot.im. I also checked with the Android client and it uses the correct specified domain.
### Your phone model
_No response_
### Operating system version
_No response_
### Application version
_No response_
### Homeserver
_No response_
### Will you send logs?
No
Contributor guide
Research direction
Start with the iOS call-button flow and compare its custom Jitsi handling with the Android client, using the linked Jitsi configuration documentation as the expected behavior. Trace how the im.vector.riot.jitsi preferredDomain value is read and passed to calls; done means iOS uses meet.mydomain.com instead of jitsi.riot.im.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, swift
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100