From d499fffb7ee89d3a6290803be00ec9d664a75261 Mon Sep 17 00:00:00 2001 From: Patryk Cisek Date: Fri, 17 Sep 2021 03:12:56 -0700 Subject: Added a text field that allows choosing custom homeserver in "Room directory" dialog. (#727) * Added a text field that allows choosing custom homeserver in "Room directory" dialog. * Moved "Choose custom homeserver" text field to the right and shrinked it to 30% of "Room directory" dialog's width. * Adding "server_name=" when needed when joining room. When joining room that is hosted on a different homeserver than the account is registered on, the request fails. In such scenario the server has to be explicitly mentioned in a server_name URL parameter. More info here: https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-join-roomidoralias * Minor fix: intentation (4 spaces -> 8 spaces) Co-authored-by: Patryk Cisek --- src/RoomDirectoryModel.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/RoomDirectoryModel.cpp') diff --git a/src/RoomDirectoryModel.cpp b/src/RoomDirectoryModel.cpp index de5d430a..cfa2b623 100644 --- a/src/RoomDirectoryModel.cpp +++ b/src/RoomDirectoryModel.cpp @@ -98,6 +98,15 @@ RoomDirectoryModel::getViasForRoom(const std::vector &aliases) std::back_inserter(vias), [](const auto &alias) { return alias.substr(alias.find(":") + 1); }); + // When joining a room hosted on a homeserver other than the one the + // account has been registered on, the room's server has to be explicitly + // specified in the "server_name=..." URL parameter of the Matrix Join Room + // request. For more details consult the specs: + // https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-join-roomidoralias + if (!server_.empty()) { + vias.push_back(server_); + } + return vias; } -- cgit 1.5.1