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

Expose server_name as a Riot config.json option independent of default_hs_url. #7724

Closed
lampholder opened this issue Nov 20, 2018 · 9 comments
Assignees

Comments

@lampholder
Copy link
Member

I think the only consequence of this would be that the mxid dropdown on the login page could read:

Sign in with [ lant.uk Matrix ID    ▼ ]
             | Email Address          |
             | Phone                  |
             `¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯`

rather than

Sign in with [ matrix.lant.uk Matrix ID ▼ ]

Which is nice for hosted homeservers.

@turt2live
Copy link
Member

Wouldn't this be fixed with .well-known and the eventual redesign that drops the entire dropdown?

@lampholder
Copy link
Member Author

When .well-known is in place would we just replace the default_hs_url config option with a homeserver_name one and expect riot to resolve the server name lant.uk to matrix.lant.uk via .well-known?

@turt2live
Copy link
Member

I don't imagine we'd replace the option, but it would mean that people logging in with @alice:example.org would see "example.org" instead of "matrix.example.org"

@lampholder
Copy link
Member Author

Even with .well-known in place, it will be common for people to run their own instance of Riot and provide a default homeserver (the one people will try to log into if they only provide a username and not a full mxid). Unless we want to change the UX globally for people to consider their full mxid as their primariy identifier (rather than the username), we will need the login page to advertise which homeserver it considers its default.

The default HS is and will remain a property in config.json. The question is, what value are we putting in there? Our options are:

  1. just the server URL (e.g. https://matrix.lant.uk), leaving the client unable to use the server name as part of its UX (what we have today)
  2. just the server name (e.g. lant.uk), leaving the client to do a .well-known lookup every time to find the server URL
  3. both (e.g. {"serverName": "lant.uk", "serverURL": "https://matrix.lant.uk"})

I think option 3 is neatest, since it means we don't have to do a .well-known lookup every time (also meaning that people running matrix homeservers don't have to set up .well-known in order to operate their homeserver).

@turt2live what do you think?

@turt2live
Copy link
Member

The whole concept of a default server seems to be at odds with the redesign. As far as I can tell, the redesign assumes the user will be logging in with their full identifier, therefore not requiring a default server.

If we are adapting that concept to have a default server, I'd be more in favour with having the client do a transparent .well-known lookup. In practice, synapse should be supplying it for everyone and it means having the url in less places. If the url ever has to change (which does happen), the config.json is something that can easily be forgotten. Although there's also concerns that changing the url without considering existing clients will break a lot of users.

@nadonomy
Copy link
Contributor

The whole concept of a default server seems to be at odds with the redesign. As far as I can tell, the redesign assumes the user will be logging in with their full identifier, therefore not requiring a default server.

Fwiw, this part of the redesign is pretty short sighted and doesn't really represent either how things work or how we want things to work. I have on my list to tackle this and get more clarity on the login/sign up flows within the next week.

@lampholder
Copy link
Member Author

After discussion, we agreed:

  • we would very much like configuration of riot to be simple, so we'd like to encourage the setting of a single parameter (serverName?) in config.json, which riot would then apply the .well-known lookup to to discover the homeserver url
  • to allow for usecases in which setting up .well-known is not possible, we would still allow the default_hs_url to be specified - this would be discouraged rather than deprecated/disabled.

@turt2live does that sound right?

@turt2live turt2live self-assigned this Nov 29, 2018
turt2live added a commit to matrix-org/matrix-react-sdk that referenced this issue Dec 5, 2018
Fixes element-hq/element-web#7724

The `default_server_name` from the config gets displayed in the "Login with my [server] matrix ID" dropdown when the default server is being used. At this point, we also discourage the use of the `default_hs_url` and `default_is_url` options because we do an implicit .well-known lookup to configure the client based on the `default_server_name`. If the URLs are still present in the config, we'll honour them and won't do a .well-known lookup when the URLs are mixed with the new server_name option. Users will be warned if the `default_server_name` does not match the `default_hs_url` if both are supplied. Users are additionally prevented from logging in, registering, and resetting their password if the implicit .well-known check fails - this is to prevent people from doing actions against the wrong homeserver.

This relies on matrix-org/matrix-js-sdk#799 as we now do auto discovery in two places. Instead of bringing the .well-known out to its own utility class in the react-sdk, we might as well drag it out to the js-sdk.
@turt2live
Copy link
Member

After some more discussion, we came to the conclusion that a server_name and hs_url specified in the config at the same time is invalid. Independently however, they can be used. When using a server_name, we do a .well-known lookup to acquire the default homeserver info whereas just the hs_url leaves us with the current behaviour today.

@turt2live
Copy link
Member

Fixed by matrix-org/matrix-react-sdk#2327

su-ex added a commit to SchildiChat/element-web that referenced this issue Feb 15, 2022
* Support a config option to change the default device name ([\element-hq#20790](element-hq#20790)).
* Capitalize "Privacy" in UserMenu ([\element-hq#7738](matrix-org/matrix-react-sdk#7738)). Contributed by @aaronraimist.
* Move new search experience to a Beta ([\#7718](matrix-org/matrix-react-sdk#7718)). Fixes element-hq/element-meta#139 element-hq#20618 and element-hq#20339.
* Auto select "Other homeserver" when user press "Edit" in homeserver field ([\element-hq#7337](matrix-org/matrix-react-sdk#7337)). Fixes element-hq#20125. Contributed by @SimonBrandner.
* Add unread badges and avatar decorations to spotlight search ([\element-hq#7696](matrix-org/matrix-react-sdk#7696)). Fixes element-hq#20821.
* Enable location sharing ([\element-hq#7703](matrix-org/matrix-react-sdk#7703)).
* Simplify Composer buttons ([\element-hq#7678](matrix-org/matrix-react-sdk#7678)).
* Add a warning to the console to discourage attacks and encourage contributing ([\element-hq#7673](matrix-org/matrix-react-sdk#7673)). Fixes element-hq#2803. Contributed by @SimonBrandner.
* Don't show replaced calls in the timeline ([\element-hq#7452](matrix-org/matrix-react-sdk#7452)). Contributed by @SimonBrandner.
* Tweak `/addwidget` widget names ([\element-hq#7681](matrix-org/matrix-react-sdk#7681)).
* Chat export parameter customisation ([\element-hq#7647](matrix-org/matrix-react-sdk#7647)).
* Put call on hold when transfer dialog is opened ([\element-hq#7669](matrix-org/matrix-react-sdk#7669)).
* Share e2ee keys when using /invite SlashCommand ([\element-hq#7655](matrix-org/matrix-react-sdk#7655)). Fixes element-hq#20778 and element-hq#16982.
* Tweak spotlight roving behaviour to reset when changing query ([\#7656](matrix-org/matrix-react-sdk#7656)). Fixes element-hq#20537 element-hq#20612 and element-hq#20184.
* Look up tile server info in homeserver's .well-known area ([\element-hq#7623](matrix-org/matrix-react-sdk#7623)).
* Add grouper for hidden events ([\element-hq#7649](matrix-org/matrix-react-sdk#7649)).
* The keyboard shortcut is control (or cmd) shift h. ([\element-hq#7584](matrix-org/matrix-react-sdk#7584)). Contributed by @UwUnyaa.
* [Release] Fix cutout misalignment on some decorated room avatars ([\element-hq#7785](matrix-org/matrix-react-sdk#7785)).
* [Release] Fix add existing space not showing any spaces ([\element-hq#7756](matrix-org/matrix-react-sdk#7756)).
* [Release] Inhibit Room List keyboard pass-thru when the search beta is enabled ([\element-hq#7754](matrix-org/matrix-react-sdk#7754)).
* [Release] Fix space member list not opening ([\element-hq#7755](matrix-org/matrix-react-sdk#7755)).
* Null-guard ELS from null summaryMembers ([\element-hq#7744](matrix-org/matrix-react-sdk#7744)). Fixes element-hq#20807.
* Improve responsiveness of the layout switcher ([\element-hq#7736](matrix-org/matrix-react-sdk#7736)).
* Tweak timeline card layout ([\element-hq#7743](matrix-org/matrix-react-sdk#7743)). Fixes element-hq#20846.
* Ensure location bodies have a width in bubbles ([\element-hq#7742](matrix-org/matrix-react-sdk#7742)). Fixes element-hq#20916.
* Tune aria-live regions around clocks/timers ([\element-hq#7735](matrix-org/matrix-react-sdk#7735)). Fixes element-hq#20967.
* Fix instances of decorated room avatar wrongly having their own tabIndex ([\element-hq#7730](matrix-org/matrix-react-sdk#7730)).
* Remove weird padding on stickers ([\element-hq#6271](matrix-org/matrix-react-sdk#6271)). Fixes element-hq#17787. Contributed by @SimonBrandner.
* Fix width issue of the composer overflow menu items ([\element-hq#7731](matrix-org/matrix-react-sdk#7731)). Fixes element-hq#20898.
* Properly handle persistent widgets when room is left ([\element-hq#7724](matrix-org/matrix-react-sdk#7724)). Fixes element-hq#20901.
* Null guard space hierarchy ([\element-hq#7729](matrix-org/matrix-react-sdk#7729)). Fixes matrix-org/element-web-rageshakes#10433.
* Fix add existing rooms button ([\element-hq#7728](matrix-org/matrix-react-sdk#7728)). Fixes element-hq#20924. Contributed by @SimonBrandner.
* Truncate long server names on login/register screen ([\element-hq#7702](matrix-org/matrix-react-sdk#7702)). Fixes element-hq#18452.
* Update PollCreateDialog-test to snapshot the html and not react tree ([\element-hq#7712](matrix-org/matrix-react-sdk#7712)).
* Fix creating polls outside of threads ([\element-hq#7711](matrix-org/matrix-react-sdk#7711)). Fixes element-hq#20882.
* Open native room when clicking notification from a virtual room ([\element-hq#7709](matrix-org/matrix-react-sdk#7709)).
* Fix relative link handling in Element Desktop ([\element-hq#7708](matrix-org/matrix-react-sdk#7708)). Fixes element-hq#20783.
* Reuse CopyableText component in all places it can be ([\element-hq#7701](matrix-org/matrix-react-sdk#7701)). Fixes element-hq#20855.
* Fit location into the width of the container ([\element-hq#7705](matrix-org/matrix-react-sdk#7705)). Fixes element-hq#20861.
* Make Spotlight Dialog roving reset more stable ([\element-hq#7698](matrix-org/matrix-react-sdk#7698)). Fixes element-hq#20826.
* Fix incorrect sizing of DecoratedRoomAvatar in RoomHeader ([\element-hq#7697](matrix-org/matrix-react-sdk#7697)). Fixes element-hq#20090.
* Use a more correct test for emoji ([\element-hq#7685](matrix-org/matrix-react-sdk#7685)). Fixes element-hq#20824. Contributed by @robintown.
* Fix vertical spacing in `compact` `<ContextMenu>` ([\element-hq#7684](matrix-org/matrix-react-sdk#7684)). Fixes element-hq#20801.
* Fix the sticker picker ([\element-hq#7692](matrix-org/matrix-react-sdk#7692)). Fixes element-hq#20797.
* Fix publishing address wrongly demanding the alias be available ([\element-hq#7690](matrix-org/matrix-react-sdk#7690)). Fixes element-hq#12013 and element-hq#20833.
* Prevent MemberAvatar soft-crashing when rendered with null member prop ([\element-hq#7691](matrix-org/matrix-react-sdk#7691)). Fixes element-hq#20714.
* Ensure UserInfo can be rendered without a room ([\element-hq#7687](matrix-org/matrix-react-sdk#7687)). Fixes element-hq#20830.
* Make polls fill column width in bubbles layout ([\#7661](matrix-org/matrix-react-sdk#7661)). Fixes element-hq#20712.
* Add a background to expanded nick name in IRC layout to make it readable. ([\element-hq#7652](matrix-org/matrix-react-sdk#7652)). Fixes element-hq#20757. Contributed by @UwUnyaa.
* Fix accessibility and consistency of MessageComposerButtons ([\element-hq#7679](matrix-org/matrix-react-sdk#7679)). Fixes element-hq#20814.
* Don't show shield next to deleted messages ([\element-hq#7671](matrix-org/matrix-react-sdk#7671)). Fixes element-hq#20475. Contributed by @SimonBrandner.
* Fix font size of spaces between big emoji ([\element-hq#7675](matrix-org/matrix-react-sdk#7675)). Contributed by @robintown.
* Fix shift-enter repeating last character ([\element-hq#7665](matrix-org/matrix-react-sdk#7665)). Fixes element-hq#17215. Contributed by @SimonBrandner.
* Remove Unpin option from maximised widget context menu ([\element-hq#7657](matrix-org/matrix-react-sdk#7657)).
* Fix new call event grouper implementation for encrypted rooms ([\element-hq#7654](matrix-org/matrix-react-sdk#7654)).
* Fix issue with tile error boundaries collapsing in bubbles layout ([\element-hq#7653](matrix-org/matrix-react-sdk#7653)).
* Fix emojis getting cropped in irc & bubble layouts by anti-zalgo ([\element-hq#7637](matrix-org/matrix-react-sdk#7637)). Fixes element-hq#20744.
* Fix space panel edge gradient not applying on load ([\element-hq#7644](matrix-org/matrix-react-sdk#7644)). Fixes element-hq#20756.
* Fix search results view for layouts other than Group/Modern ([\element-hq#7648](matrix-org/matrix-react-sdk#7648)). Fixes element-hq#20745.
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

4 participants