Handle and i18n M_THREEPID_IN_USE during registration (#6986)

pull/21833/head
Michael Telatynski 2021-10-19 16:31:07 +01:00 committed by GitHub
parent 9c786717b8
commit a9c27e22b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 5 deletions

View File

@ -272,7 +272,7 @@ export default class Registration extends React.Component<IProps, IState> {
private onUIAuthFinished = async (success: boolean, response: any) => { private onUIAuthFinished = async (success: boolean, response: any) => {
if (!success) { if (!success) {
let msg = response.message || response.toString(); let errorText = response.message || response.toString();
// can we give a better error message? // can we give a better error message?
if (response.errcode === 'M_RESOURCE_LIMIT_EXCEEDED') { if (response.errcode === 'M_RESOURCE_LIMIT_EXCEEDED') {
const errorTop = messageForResourceLimitError( const errorTop = messageForResourceLimitError(
@ -291,7 +291,7 @@ export default class Registration extends React.Component<IProps, IState> {
'': _td("Please <a>contact your service administrator</a> to continue using this service."), '': _td("Please <a>contact your service administrator</a> to continue using this service."),
}, },
); );
msg = <div> errorText = <div>
<p>{ errorTop }</p> <p>{ errorTop }</p>
<p>{ errorDetail }</p> <p>{ errorDetail }</p>
</div>; </div>;
@ -301,15 +301,18 @@ export default class Registration extends React.Component<IProps, IState> {
msisdnAvailable = msisdnAvailable || flow.stages.includes('m.login.msisdn'); msisdnAvailable = msisdnAvailable || flow.stages.includes('m.login.msisdn');
} }
if (!msisdnAvailable) { if (!msisdnAvailable) {
msg = _t('This server does not support authentication with a phone number.'); errorText = _t('This server does not support authentication with a phone number.');
} }
} else if (response.errcode === "M_USER_IN_USE") { } else if (response.errcode === "M_USER_IN_USE") {
msg = _t("That username already exists, please try another."); errorText = _t("That username already exists, please try another.");
} else if (response.errcode === "M_THREEPID_IN_USE") {
errorText = _t("That e-mail address is already in use.");
} }
this.setState({ this.setState({
busy: false, busy: false,
doingUIAuth: false, doingUIAuth: false,
errorText: msg, errorText,
}); });
return; return;
} }

View File

@ -3056,6 +3056,7 @@
"Registration has been disabled on this homeserver.": "Registration has been disabled on this homeserver.", "Registration has been disabled on this homeserver.": "Registration has been disabled on this homeserver.",
"This server does not support authentication with a phone number.": "This server does not support authentication with a phone number.", "This server does not support authentication with a phone number.": "This server does not support authentication with a phone number.",
"That username already exists, please try another.": "That username already exists, please try another.", "That username already exists, please try another.": "That username already exists, please try another.",
"That e-mail address is already in use.": "That e-mail address is already in use.",
"Continue with %(ssoButtons)s": "Continue with %(ssoButtons)s", "Continue with %(ssoButtons)s": "Continue with %(ssoButtons)s",
"%(ssoButtons)s Or %(usernamePassword)s": "%(ssoButtons)s Or %(usernamePassword)s", "%(ssoButtons)s Or %(usernamePassword)s": "%(ssoButtons)s Or %(usernamePassword)s",
"Already have an account? <a>Sign in here</a>": "Already have an account? <a>Sign in here</a>", "Already have an account? <a>Sign in here</a>": "Already have an account? <a>Sign in here</a>",