From 5d049cc5e8d385e5566a634aa509146a0755e0e6 Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 11 Oct 2016 14:30:06 +0100 Subject: [PATCH 1/2] Fix params getting replaced on register calls The react-sdk sets guest access token to null sometimes, but we previously added anything that was not 'undefined' to the params, causing us to send parameters which overwrite the previous actual parameters with the useless, {guest_access_token: null} which caused registrations from an email link to break. We should have no reason to send null, at least for these particular params, so don't. --- lib/base-apis.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/base-apis.js b/lib/base-apis.js index b926e50a38a..b5d151392ea 100644 --- a/lib/base-apis.js +++ b/lib/base-apis.js @@ -136,10 +136,10 @@ MatrixBaseApis.prototype.register = function( var params = { auth: auth }; - if (username !== undefined) { params.username = username; } - if (password !== undefined) { params.password = password; } - if (bindEmail !== undefined) { params.bind_email = bindEmail; } - if (guestAccessToken !== undefined) { params.guest_access_token = guestAccessToken; } + if (username !== undefined && username !== null) { params.username = username; } + if (password !== undefined && password !== null) { params.password = password; } + if (bindEmail !== undefined && bindEmail !== null) { params.bind_email = bindEmail; } + if (guestAccessToken !== undefined && guestAccessToken !== null) { params.guest_access_token = guestAccessToken; } return this.registerRequest(params, undefined, callback); }; From d3db4ee63d4c14f020f294529b395388db8ae48e Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 11 Oct 2016 14:56:21 +0100 Subject: [PATCH 2/2] lint bunny --- lib/base-apis.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/base-apis.js b/lib/base-apis.js index b5d151392ea..e886ad1ca02 100644 --- a/lib/base-apis.js +++ b/lib/base-apis.js @@ -139,7 +139,9 @@ MatrixBaseApis.prototype.register = function( if (username !== undefined && username !== null) { params.username = username; } if (password !== undefined && password !== null) { params.password = password; } if (bindEmail !== undefined && bindEmail !== null) { params.bind_email = bindEmail; } - if (guestAccessToken !== undefined && guestAccessToken !== null) { params.guest_access_token = guestAccessToken; } + if (guestAccessToken !== undefined && guestAccessToken !== null) { + params.guest_access_token = guestAccessToken; + } return this.registerRequest(params, undefined, callback); };