mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2026-07-25 15:04:57 +00:00
Error handling changed, 'auto' keyword used for MTP types.
All errors that lead to MTP request resending by default error handler now can be handled differently. For example inline bot requests are not being resent on 5XX error codes. + extensive use of auto keyword in MTP types handling.
This commit is contained in:
@@ -284,35 +284,12 @@ void PasscodeBox::setPasswordDone(const MTPBool &result) {
|
||||
}
|
||||
|
||||
bool PasscodeBox::setPasswordFail(const RPCError &error) {
|
||||
if (isHidden() && _replacedBy && !_replacedBy->isHidden()) _replacedBy->onClose();
|
||||
_setRequest = 0;
|
||||
QString err = error.type();
|
||||
if (err == "PASSWORD_HASH_INVALID") {
|
||||
if (_oldPasscode.isHidden()) {
|
||||
emit reloadPassword();
|
||||
onClose();
|
||||
} else {
|
||||
onBadOldPasscode();
|
||||
}
|
||||
} else if (err == "NEW_PASSWORD_BAD") {
|
||||
_newPasscode.setFocus();
|
||||
_newPasscode.showError();
|
||||
_newError = lang(lng_cloud_password_bad);
|
||||
update();
|
||||
} else if (err == "NEW_SALT_INVALID") {
|
||||
emit reloadPassword();
|
||||
onClose();
|
||||
} else if (err == "EMAIL_INVALID") {
|
||||
_emailError = lang(lng_cloud_password_bad_email);
|
||||
_recoverEmail.setFocus();
|
||||
_recoverEmail.showError();
|
||||
update();
|
||||
} else if (err == "EMAIL_UNCONFIRMED") {
|
||||
Ui::showLayer(new InformBox(lang(lng_cloud_password_almost)));
|
||||
emit reloadPassword();
|
||||
} else if (mtpIsFlood(error)) {
|
||||
if (MTP::isFloodError(error)) {
|
||||
if (_oldPasscode.isHidden()) return false;
|
||||
|
||||
if (isHidden() && _replacedBy && !_replacedBy->isHidden()) _replacedBy->onClose();
|
||||
_setRequest = 0;
|
||||
|
||||
_oldPasscode.selectAll();
|
||||
_oldPasscode.setFocus();
|
||||
_oldPasscode.showError();
|
||||
@@ -321,6 +298,36 @@ bool PasscodeBox::setPasswordFail(const RPCError &error) {
|
||||
_recover.hide();
|
||||
}
|
||||
update();
|
||||
return true;
|
||||
}
|
||||
if (MTP::isDefaultHandledError(error)) return false;
|
||||
|
||||
if (isHidden() && _replacedBy && !_replacedBy->isHidden()) _replacedBy->onClose();
|
||||
_setRequest = 0;
|
||||
QString err = error.type();
|
||||
if (err == qstr("PASSWORD_HASH_INVALID")) {
|
||||
if (_oldPasscode.isHidden()) {
|
||||
emit reloadPassword();
|
||||
onClose();
|
||||
} else {
|
||||
onBadOldPasscode();
|
||||
}
|
||||
} else if (err == qstr("NEW_PASSWORD_BAD")) {
|
||||
_newPasscode.setFocus();
|
||||
_newPasscode.showError();
|
||||
_newError = lang(lng_cloud_password_bad);
|
||||
update();
|
||||
} else if (err == qstr("NEW_SALT_INVALID")) {
|
||||
emit reloadPassword();
|
||||
onClose();
|
||||
} else if (err == qstr("EMAIL_INVALID")) {
|
||||
_emailError = lang(lng_cloud_password_bad_email);
|
||||
_recoverEmail.setFocus();
|
||||
_recoverEmail.showError();
|
||||
update();
|
||||
} else if (err == qstr("EMAIL_UNCONFIRMED")) {
|
||||
Ui::showLayer(new InformBox(lang(lng_cloud_password_almost)));
|
||||
emit reloadPassword();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -490,7 +497,7 @@ void PasscodeBox::recoverStarted(const MTPauth_PasswordRecovery &result) {
|
||||
}
|
||||
|
||||
bool PasscodeBox::recoverStartFail(const RPCError &error) {
|
||||
if (mtpIsFlood(error)) return false;
|
||||
if (MTP::isDefaultHandledError(error)) return false;
|
||||
|
||||
_pattern = QString();
|
||||
onClose();
|
||||
@@ -587,32 +594,36 @@ void RecoverBox::codeSubmitDone(bool recover, const MTPauth_Authorization &resul
|
||||
}
|
||||
|
||||
bool RecoverBox::codeSubmitFail(const RPCError &error) {
|
||||
if (MTP::isFloodError(error)) {
|
||||
_submitRequest = 0;
|
||||
_error = lang(lng_flood_error);
|
||||
update();
|
||||
_recoverCode.showError();
|
||||
return true;
|
||||
}
|
||||
if (MTP::isDefaultHandledError(error)) return false;
|
||||
|
||||
_submitRequest = 0;
|
||||
|
||||
const QString &err = error.type();
|
||||
if (err == "PASSWORD_EMPTY") {
|
||||
if (err == qstr("PASSWORD_EMPTY")) {
|
||||
emit reloadPassword();
|
||||
Ui::showLayer(new InformBox(lang(lng_cloud_password_removed)));
|
||||
return true;
|
||||
} else if (err == "PASSWORD_RECOVERY_NA") {
|
||||
} else if (err == qstr("PASSWORD_RECOVERY_NA")) {
|
||||
onClose();
|
||||
return true;
|
||||
} else if (err == "PASSWORD_RECOVERY_EXPIRED") {
|
||||
} else if (err == qstr("PASSWORD_RECOVERY_EXPIRED")) {
|
||||
emit recoveryExpired();
|
||||
onClose();
|
||||
return true;
|
||||
} else if (err == "CODE_INVALID") {
|
||||
} else if (err == qstr("CODE_INVALID")) {
|
||||
_error = lang(lng_signin_wrong_code);
|
||||
update();
|
||||
_recoverCode.selectAll();
|
||||
_recoverCode.setFocus();
|
||||
_recoverCode.showError();
|
||||
return true;
|
||||
} else if (mtpIsFlood(error)) {
|
||||
_error = lang(lng_flood_error);
|
||||
update();
|
||||
_recoverCode.showError();
|
||||
return true;
|
||||
}
|
||||
if (cDebug()) { // internal server error
|
||||
_error = err + ": " + error.description();
|
||||
|
||||
Reference in New Issue
Block a user