From 392b47e200c91773144e68d86aaaf0e5e6dc33d2 Mon Sep 17 00:00:00 2001 From: PunitLodha Date: Tue, 9 Feb 2021 11:39:36 +0530 Subject: [PATCH 1/3] Add email only if the verification is complete --- .../views/settings/account/EmailAddresses.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/components/views/settings/account/EmailAddresses.js b/src/components/views/settings/account/EmailAddresses.js index ca66d5df65..07d2133e95 100644 --- a/src/components/views/settings/account/EmailAddresses.js +++ b/src/components/views/settings/account/EmailAddresses.js @@ -178,19 +178,21 @@ export default class EmailAddresses extends React.Component { e.preventDefault(); this.setState({continueDisabled: true}); - this.state.addTask.checkEmailLinkClicked().then(() => { - const email = this.state.newEmailAddress; + this.state.addTask.checkEmailLinkClicked().then(([finished]) => { + if (finished) { + const email = this.state.newEmailAddress; + const emails = [ + ...this.props.emails, + { address: email, medium: "email" }, + ]; + this.props.onEmailsChange(emails); + } this.setState({ addTask: null, continueDisabled: false, verifying: false, newEmailAddress: "", }); - const emails = [ - ...this.props.emails, - { address: email, medium: "email" }, - ]; - this.props.onEmailsChange(emails); }).catch((err) => { this.setState({continueDisabled: false}); const ErrorDialog = sdk.getComponent("dialogs.ErrorDialog"); From 74a6c1e8d887f793cdd078d8e5634e948f5cae8c Mon Sep 17 00:00:00 2001 From: PunitLodha Date: Sun, 14 Feb 2021 18:21:12 +0530 Subject: [PATCH 2/3] Dont clear email if verification cancelled by user --- src/components/views/settings/account/EmailAddresses.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/views/settings/account/EmailAddresses.js b/src/components/views/settings/account/EmailAddresses.js index 07d2133e95..a8de7693a9 100644 --- a/src/components/views/settings/account/EmailAddresses.js +++ b/src/components/views/settings/account/EmailAddresses.js @@ -179,6 +179,7 @@ export default class EmailAddresses extends React.Component { this.setState({continueDisabled: true}); this.state.addTask.checkEmailLinkClicked().then(([finished]) => { + let newEmailAddress = this.state.newEmailAddress; if (finished) { const email = this.state.newEmailAddress; const emails = [ @@ -186,12 +187,13 @@ export default class EmailAddresses extends React.Component { { address: email, medium: "email" }, ]; this.props.onEmailsChange(emails); + newEmailAddress = ""; } this.setState({ addTask: null, continueDisabled: false, verifying: false, - newEmailAddress: "", + newEmailAddress, }); }).catch((err) => { this.setState({continueDisabled: false}); From 0902936d3973581ae0464c4299d7b692ed04878f Mon Sep 17 00:00:00 2001 From: PunitLodha Date: Sun, 14 Feb 2021 18:21:39 +0530 Subject: [PATCH 3/3] Add phone number only if verification is complete --- .../views/settings/account/PhoneNumbers.js | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/components/views/settings/account/PhoneNumbers.js b/src/components/views/settings/account/PhoneNumbers.js index 02e995ac45..df54b5ca1f 100644 --- a/src/components/views/settings/account/PhoneNumbers.js +++ b/src/components/views/settings/account/PhoneNumbers.js @@ -177,21 +177,25 @@ export default class PhoneNumbers extends React.Component { this.setState({continueDisabled: true}); const token = this.state.newPhoneNumberCode; const address = this.state.verifyMsisdn; - this.state.addTask.haveMsisdnToken(token).then(() => { + this.state.addTask.haveMsisdnToken(token).then(([finished]) => { + let newPhoneNumber = this.state.newPhoneNumber; + if (finished) { + const msisdns = [ + ...this.props.msisdns, + { address, medium: "msisdn" }, + ]; + this.props.onMsisdnsChange(msisdns); + newPhoneNumber = ""; + } this.setState({ addTask: null, continueDisabled: false, verifying: false, verifyMsisdn: "", verifyError: null, - newPhoneNumber: "", + newPhoneNumber, newPhoneNumberCode: "", }); - const msisdns = [ - ...this.props.msisdns, - { address, medium: "msisdn" }, - ]; - this.props.onMsisdnsChange(msisdns); }).catch((err) => { this.setState({continueDisabled: false}); if (err.errcode !== 'M_THREEPID_AUTH_FAILED') {