Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support overriding parts of config.json via .well-known #13678

Open
turt2live opened this issue May 15, 2020 · 10 comments
Open

Support overriding parts of config.json via .well-known #13678

turt2live opened this issue May 15, 2020 · 10 comments

Comments

@turt2live
Copy link
Member

This is a thing that I've considered proposing for a while given there's various minor settings that could be homeserver-specific and need to support desktop users. Now that we're encouraging the desktop app more, we should probably have a way for homeservers to say "my theme is CoolCompany Blue" instead of light, for example.

Some ideas for things that could be covered by this:

Stuff like the homeserver/identity server wouldn't matter at this point in the cycle as it's something that should be checked much earlier in the app.

The shape of this could possibly just be an im.vector.web.settings object which just gets lumped on top of the in-memory config.

Outstanding questions:

  1. Should this override or underride the in-memory amalgamated config?
  2. How often should we check the config? Do we only check on startup and never again?
    a. If we do check regularly, what do we do if a setting changes? eg: if the theme changes, it might be jarring to have the theme suddenly change without warning. Maybe a prompt to "update", getting the user to reload the app?
  3. How does this fit into the setting levels, if at all? We could avoid the over vs underride question if we just make it a level.
  4. Do we even want this?

assigned to myself because I'm interested in making a proof of concept regardless of question 4.

@bpcurse
Copy link

bpcurse commented May 15, 2020

Could this cover a self-hosted jitsi server setting, too? Sorry if I mix something up.
I just found #13314. Never mind.

@steef435
Copy link

steef435 commented May 28, 2020

Please don't allow the homeserver owner (or bad actor) to override local settings, especially when it comes to privacy settings. I think the idea for providing default settings - which are overridden by the local config.json - is great though. Riot desktop could ship with a defaults-only config.json to practically achieve the first behavior, while still allowing people to control the software on their computer.

@flyinghuman
Copy link

flyinghuman commented Jun 22, 2020

is that currently already possible? i see no security concers as long as you can override with a local config.json. It would be cool to have a Import wizard for the suggested settings from the well-known homeserver at first Riot launch.

i would set it like (does actually not work for me):

{
	"m.homeserver": {
		"base_url": "https://matrix.example.tld"
	},
	"m.identity_server": {
		"base_url": "matrix.example.tld"
	},
      "im.vector.riot.jitsi": {
               "preferredDomain": "jitsi.example.tld"
       },
      "im.vector.riot": {
              "permalinkPrefix": "https://riot.example.tld",
              "integrations_ui_url": "https://dimension.example.tld/riot",
              "integrations_rest_url": "https://dimension.example.tld/api/v1/scalar",
              "integrations_widgets_urls": ["https://dimension.example.tld/widgets"],
              "integrations_jitsi_widget_url": "https://dimension.example.tld/widgets/jitsi"
      }
}

i' not sure about the im.vector.riot object? it it correct?

@t3chguy
Copy link
Member

t3chguy commented Jun 22, 2020

This issue is still open, so not implemented, so no your attempt is not correct

@flyinghuman
Copy link

This issue is still open, so not implemented, so no your attempt is not correct

ok, thanks for clarify. keep on your good work :)

@majordave
Copy link

Any chance to at least support the Jitsi preferred domain configuration on the desktop client?
Changing the user specified file only affects meetings generated by the user that changed the config.json.

@turt2live
Copy link
Member Author

@majordave
Copy link

@turt2live I asked because I have already set my /.well-known/matrix/client as specified there but it didn't work, I still get the default domain unless I change the config.json on the desktop client. Which isn't feasible for every one of my users.

@turt2live
Copy link
Member Author

Then you have a different bug.

@tiran133
Copy link

tiran133 commented Feb 7, 2025

Is any plans to support this. Would be nice to have a custom permalink URL in the desktop and Mobile clients.
It's just confusing and leads to a lot of frustration for the users when you operate a private non federated matrix instance, and they share a room from the Desktop/Mobile clients.

Why is it matrix.to in the first place? It should just default to the server URL.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants