From 2c1ac29d307fa6dbd120939402198a7ffdc51a6d Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 14 Mar 2017 14:37:18 +0000 Subject: [PATCH] Send legacy parameters on login call To support login on old HSes --- src/Login.js | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/Login.js b/src/Login.js index 053f88ce93..107a8825e9 100644 --- a/src/Login.js +++ b/src/Login.js @@ -111,23 +111,32 @@ export default class Login { const isEmail = username.indexOf("@") > 0; let identifier; + let legacyParams; // parameters added to support old HSes if (phoneCountry && phoneNumber) { identifier = { type: 'm.id.phone', country: phoneCountry, number: phoneNumber, }; + // No legacy support for phone number login } else if (isEmail) { identifier = { type: 'm.id.thirdparty', medium: 'email', address: username, }; + legacyParams = { + medium: 'email', + address: username, + }; } else { identifier = { type: 'm.id.user', user: username, }; + legacyParams = { + user: username, + }; } const loginParams = { @@ -135,6 +144,7 @@ export default class Login { identifier: identifier, initial_device_display_name: this._defaultDeviceDisplayName, }; + Object.assign(loginParams, legacyParams); const client = this._createTemporaryClient(); return client.login('m.login.password', loginParams).then(function(data) {