diff --git a/app/assets/javascripts/discourse/controllers/login.js.es6 b/app/assets/javascripts/discourse/controllers/login.js.es6 index 7e7aad6fb69..641b6bc8387 100644 --- a/app/assets/javascripts/discourse/controllers/login.js.es6 +++ b/app/assets/javascripts/discourse/controllers/login.js.es6 @@ -93,9 +93,13 @@ export default DiscourseController.extend(ModalFunctionality, { $hidden_login_form.submit(); } - }, function() { + }, function(e) { // Failed to login - self.flash(I18n.t('login.error'), 'error'); + if (e.jqXHR && e.jqXHR.status === 429) { + self.flash(I18n.t('login.rate_limit'), 'error'); + } else { + self.flash(I18n.t('login.error'), 'error'); + } self.set('loggingIn', false); }); diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index e25a7b2b95a..91656b41e2c 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -718,6 +718,7 @@ en: email_placeholder: "email or username" caps_lock_warning: "Caps Lock is on" error: "Unknown error" + rate_limit: "Please wait before trying to log in again." blank_username_or_password: "Please enter your email or username, and password." reset_password: 'Reset Password' logging_in: "Signing In..."