diff --git a/app/assets/javascripts/discourse/controllers/password-reset.js.es6 b/app/assets/javascripts/discourse/controllers/password-reset.js.es6 index b012e29ed01..2caf6e6b708 100644 --- a/app/assets/javascripts/discourse/controllers/password-reset.js.es6 +++ b/app/assets/javascripts/discourse/controllers/password-reset.js.es6 @@ -41,8 +41,7 @@ export default Ember.Controller.extend(PasswordValidation, { second_factor_token: this.get("secondFactor"), second_factor_method: this.get("secondFactorMethod") } - }) - .then(result => { + }).then(result => { if (result.success) { this.set("successMessage", result.message); this.set("redirectTo", result.redirect_to); @@ -83,8 +82,12 @@ export default Ember.Controller.extend(PasswordValidation, { } } }) - .catch(error => { - throw new Error(error); + .catch(e => { + if (e.jqXHR && e.jqXHR.status === 429) { + this.set("errorMessage", I18n.t("user.second_factor.rate_limit")); + } else { + throw new Error(e); + } }); }, diff --git a/app/assets/javascripts/discourse/templates/password-reset.hbs b/app/assets/javascripts/discourse/templates/password-reset.hbs index 660c370a94b..5a762a985ae 100644 --- a/app/assets/javascripts/discourse/templates/password-reset.hbs +++ b/app/assets/javascripts/discourse/templates/password-reset.hbs @@ -18,7 +18,15 @@