GH-4317 Detect forced migration state and show errors for it

This commit is contained in:
Petr Mrázek
2022-04-23 01:31:03 +02:00
parent ef1bf57b58
commit b39410a2c2
13 changed files with 143 additions and 1 deletions

View File

@@ -45,6 +45,8 @@ QString AccountTask::getStateMessage() const
return tr("Failed to contact the authentication server.");
case AccountTaskState::STATE_FAILED_SOFT:
return tr("Encountered an error during authentication.");
case AccountTaskState::STATE_FAILED_MUST_MIGRATE:
return tr("Failed to authenticate. The account must be migrated to a Microsoft account to be usable.");
case AccountTaskState::STATE_FAILED_HARD:
return tr("Failed to authenticate. The session has expired.");
case AccountTaskState::STATE_FAILED_GONE:
@@ -84,6 +86,12 @@ bool AccountTask::changeState(AccountTaskState newState, QString reason)
emitFailed(reason);
return false;
}
case AccountTaskState::STATE_FAILED_MUST_MIGRATE: {
m_data->errorString = reason;
m_data->accountState = AccountState::MustMigrate;
emitFailed(reason);
return false;
}
case AccountTaskState::STATE_FAILED_HARD: {
m_data->errorString = reason;
m_data->accountState = AccountState::Expired;