diff --git a/src/matrix/SessionContainer.js b/src/matrix/SessionContainer.js
index 85a6826d..57752309 100644
--- a/src/matrix/SessionContainer.js
+++ b/src/matrix/SessionContainer.js
@@ -43,6 +43,14 @@ export const LoginFailure = createEnum(
"Unknown",
);
+function normalizeHomeserver(homeServer) {
+ try {
+ return new URL(homeServer).origin;
+ } catch (err) {
+ return new URL(`https://${homeServer}`).origin;
+ }
+}
+
export class SessionContainer {
constructor({platform, olmPromise, workerPromise}) {
this._platform = platform;
@@ -96,6 +104,7 @@ export class SessionContainer {
}
await this._platform.logger.run("login", async log => {
this._status.set(LoadStatus.Login);
+ homeServer = normalizeHomeserver(homeServer);
const clock = this._platform.clock;
let sessionInfo;
try {