diff --git a/src/components/views/settings/account/EmailAddresses.js b/src/components/views/settings/account/EmailAddresses.js index ca66d5df65..a8de7693a9 100644 --- a/src/components/views/settings/account/EmailAddresses.js +++ b/src/components/views/settings/account/EmailAddresses.js @@ -178,19 +178,23 @@ 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]) => { + let newEmailAddress = this.state.newEmailAddress; + if (finished) { + const email = this.state.newEmailAddress; + const emails = [ + ...this.props.emails, + { address: email, medium: "email" }, + ]; + this.props.onEmailsChange(emails); + newEmailAddress = ""; + } this.setState({ addTask: null, continueDisabled: false, verifying: false, - newEmailAddress: "", + 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"); 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') {