Closed
Description
Description
- As a homeserver admin
- I want to make EX use a different EC widget URL than the default one
- So that EC works within my infrastructure.
Note: This is a temporary solution. In the future, the EC web app content will be fully embedded within the EX app. There will no more need to load it from the Internet. This setting will be then no more required.
The proposal is to use a new .well-known
file: .well-known/element/element.json
with the following JSON format:
{
"call": {
"widget_url": "https://call.server.com"
}
}
Acceptance criteria
- if the server provides a
.well-known/element/element.json
with thewidget_url
field, the app must use the provided URL to load the EC widget - else, the app behaves as currently and loads https://call.element.io
- On EXA and EXI, we have a developer setting to use a custom call url. If such URL is set, it will be used and no call will be done to retrieve a custom URL from the .well-know file.
- error 404 should be consider as no custom url available (as described), but any other error (network error, etc.) should be treated as an error.
- .well-known url is built from the userId's domain, for instance
@alice:domain.org
->https://domain.org/.well-known/element/element.json
- there is no cache to implement, as a first iteration, so the .well-known file is retrieved for each call.
Leads
- Tech: @bmarty
Size estimate
S
Dependencies
- None
Out of scope
- Later
element.json
will be used for other EC configurations or other Element Service. We focus here onwidget_url
as an initial step.
Open questions
### Questions
- [x] Should EW follow this configuration? -> Yes. We need it for ED
- [x] What about call.element.io links? They open the EX app if a user taps on such link. This is a build setting that cannot be changed at runtime --> We keep the default behavior. Let's see what we can do later
Subtasks
### Android
- [ ] https://github.com/element-hq/element-x-android/issues/3009
- [ ] https://github.com/element-hq/element-x-android/issues/3124
### iOS
- [ ] https://github.com/element-hq/element-x-ios/issues/2911
### Web
- [ ] https://github.com/element-hq/element-web/issues/27555
### Rust
- [ ] https://github.com/matrix-org/matrix-rust-sdk/pull/3617
### Other
Sign-off
Android
- QA sign-off on completion
- Product sign-off on completion
iOS
- QA sign-off on completion
- Product sign-off on completion
Web
- QA sign-off on completion
- Product sign-off on completion