feat(auth): say when an account signs in with its password

A code by mail no longer signs into an account with a password and an
authenticator; email sign-in now says so rather than failing unnamed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-20 13:32:21 +02:00
commit e2282eda84
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64
8 changed files with 22 additions and 0 deletions

View file

@ -70,6 +70,7 @@
"emailSignInCodeExpired": "Dieser Code gilt nicht mehr. Fordere einen neuen an.",
"emailSignInOtherAddressLinked": "Du meldest dich schon mit einer anderen Adresse an.",
"emailSignInMailFailed": "Die Instanz konnte die Mail nicht senden. Versuche es später noch einmal.",
"emailSignInUsePassword": "Dieses Konto meldet sich mit seinem Passwort und einer Authenticator-App an.",
"emailSignInFailed": "Die Instanz war nicht erreichbar. Versuche es noch einmal.",
"syncTitle": "Synchronisierung",
"syncNow": "Jetzt synchronisieren",

View file

@ -191,6 +191,7 @@
"emailSignInCodeExpired": "This code is no longer valid. Ask for a new one.",
"emailSignInOtherAddressLinked": "You already sign in with another address.",
"emailSignInMailFailed": "The instance couldn't send the mail. Try again later.",
"emailSignInUsePassword": "This account signs in with its password and an authenticator app.",
"emailSignInFailed": "Couldn't reach the instance. Try again.",
"syncTitle": "Sync",
"syncNow": "Sync now",

View file

@ -523,6 +523,12 @@ abstract class HalkyonAppLocalizations {
/// **'The instance couldn\'t send the mail. Try again later.'**
String get emailSignInMailFailed;
/// No description provided for @emailSignInUsePassword.
///
/// In en, this message translates to:
/// **'This account signs in with its password and an authenticator app.'**
String get emailSignInUsePassword;
/// No description provided for @emailSignInFailed.
///
/// In en, this message translates to:

View file

@ -264,6 +264,10 @@ class HalkyonAppLocalizationsDe extends HalkyonAppLocalizations {
String get emailSignInMailFailed =>
'Die Instanz konnte die Mail nicht senden. Versuche es später noch einmal.';
@override
String get emailSignInUsePassword =>
'Dieses Konto meldet sich mit seinem Passwort und einer Authenticator-App an.';
@override
String get emailSignInFailed =>
'Die Instanz war nicht erreichbar. Versuche es noch einmal.';

View file

@ -262,6 +262,10 @@ class HalkyonAppLocalizationsEn extends HalkyonAppLocalizations {
String get emailSignInMailFailed =>
'The instance couldn\'t send the mail. Try again later.';
@override
String get emailSignInUsePassword =>
'This account signs in with its password and an authenticator app.';
@override
String get emailSignInFailed => 'Couldn\'t reach the instance. Try again.';

View file

@ -311,6 +311,7 @@ class ServerpodAuthGateway(
EmailSignInRefusal.otherAddressLinked =>
EmailSignInProblem.otherAddressLinked,
EmailSignInRefusal.mailFailed => EmailSignInProblem.mailFailed,
EmailSignInRefusal.usePassword => EmailSignInProblem.usePassword,
});
}
}

View file

@ -27,6 +27,10 @@ enum EmailSignInProblem() {
/// The instance couldn't send the mail.
mailFailed,
/// The account signs in with its password and an authenticator: a code by
/// mail no longer signs into it.
usePassword,
/// The instance couldn't be reached, or answered otherwise.
failed,
}

View file

@ -51,6 +51,7 @@ String emailSignInProblemText(
EmailSignInProblem.codeExpired => l10n.emailSignInCodeExpired,
EmailSignInProblem.otherAddressLinked => l10n.emailSignInOtherAddressLinked,
EmailSignInProblem.mailFailed => l10n.emailSignInMailFailed,
EmailSignInProblem.usePassword => l10n.emailSignInUsePassword,
EmailSignInProblem.failed => l10n.emailSignInFailed,
};