Fix error if public_baseurl is not set

This commit is contained in:
dklimpel 2020-04-09 20:43:52 +02:00
parent 1383aab1e8
commit 6f24c587c6
2 changed files with 6 additions and 10 deletions

View File

@ -72,7 +72,7 @@ const LoginPage = ({ theme }) => {
const setLocale = useSetLocale();
const translate = useTranslate();
const homeserver = localStorage.getItem("base_url");
const force_server = localStorage.getItem("force_server");
const force_server = localStorage.getItem("force_server") === "true";
const renderInput = ({
meta: { touched, error } = {},

View File

@ -15,11 +15,11 @@ const stripTrailingSlash = str => {
return str.endsWith("/") ? str.slice(0, -1) : str;
};
const getBaseUrl = (login_base_url, json_base_url, force_server) => {
if (force_server) {
return ensureHttpsForUrl(login_base_url);
const getBaseUrl = (login_url, json, force_server) => {
if (force_server || typeof json.well_known === "undefined") {
return ensureHttpsForUrl(login_url);
} else {
return json_base_url;
return json.well_known["m.homeserver"].base_url;
}
};
@ -43,11 +43,7 @@ const authProvider = {
return fetchUtils.fetchJson(login_api_url, options).then(({ json }) => {
const normalized_base_url = stripTrailingSlash(
getBaseUrl(
trimmed_url,
json.well_known["m.homeserver"].base_url,
force_server
)
getBaseUrl(trimmed_url, json, force_server)
);
localStorage.setItem("base_url", normalized_base_url);