feat(app): a reset of the keys without the phrase, its banner, and the keys' proof key for a password that signs in (ADR 0020, D31–D35)
SimpleLogin's sheet, its password and its recovery phrase both lost: under the lost-password step's phrase field, Lost your recovery phrase too? says what stays and what is lost and asks for new keys (`keys.startReset`) with the sign-in of a moment ago, which the device then drops. The next sign-in says when while it waits, and once due offers new keys, the sign-up's own password and phrase steps (`keys.completeReset`), or the password, which calls it off (D31). Every app's home shows `KeysResetBanner` where "too old" shows, and the account section's SimpleLogin row the same words (`KeysResetNotice`), each with Call it off, the password's proof alone (`keys.callOffResets`, D32), and, once due on a device that holds the keys, Finish here, which wraps the same keys anew (D33, D35). Both show only a reset of an account that signs in with SimpleLogin alone; ADR 0017's resets show in its own section, which now shares `AlertBox` with them. An account whose password signs in has no Forgot your password? there, and is asked its password and a code once while its keys lack the proof key, at a sign-in or on adding SimpleLogin (`password.setProofKey`, D34). `PasswordUnlock` carries the proof key, which its forgetting leaves, and the keys' password proves for a purpose given. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
fe2ef02c92
commit
1b79214764
1 changed files with 2711 additions and 248 deletions
|
|
@ -1002,6 +1002,105 @@ class HalkyonAppLocalizationsDe extends HalkyonAppLocalizations {
|
|||
String get simpleLoginForgotDoesNotFit =>
|
||||
'Die Wiederherstellungsphrase stimmt nicht.';
|
||||
|
||||
@override
|
||||
String simpleLoginResetWaiting(String date) {
|
||||
return 'Neue Schlüssel wurden angefordert: Ab dem $date kann eine Anmeldung mit SimpleLogin sie einrichten. Öffnest du deine Schlüssel mit deinem Passwort, ist es abgesagt.';
|
||||
}
|
||||
|
||||
@override
|
||||
String get simpleLoginPhraseLost =>
|
||||
'Auch die Wiederherstellungsphrase verloren?';
|
||||
|
||||
@override
|
||||
String get simpleLoginResetTitle => 'Neue Schlüssel';
|
||||
|
||||
@override
|
||||
String simpleLoginResetIntro(String instance) {
|
||||
return 'Ohne dein Passwort oder deine Wiederherstellungsphrase kann niemand deine Schlüssel öffnen, auch $instance nicht. Neue lassen sich in 72 Stunden einrichten, wenn du dich wieder mit SimpleLogin anmeldest. Dein Handle, dein Profil und was du veröffentlicht hast, bleiben; was mit deinen alten Schlüsseln verschlüsselt ist, geht verloren, außer du schließt auf einem Gerät ab, das noch angemeldet ist und sie behält.';
|
||||
}
|
||||
|
||||
@override
|
||||
String get simpleLoginResetIntroDevices =>
|
||||
'Bis dahin zeigen deine angemeldeten Geräte das Zurücksetzen, und dein Passwort sagt es dort ab, falls jemand anderes es angefordert hat.';
|
||||
|
||||
@override
|
||||
String get simpleLoginResetAsk => 'Neue Schlüssel anfordern';
|
||||
|
||||
@override
|
||||
String get simpleLoginResetAskedTitle => 'Neue Schlüssel angefordert';
|
||||
|
||||
@override
|
||||
String simpleLoginResetAskedIntro(String date) {
|
||||
return 'Melde dich ab dem $date wieder mit SimpleLogin an, um sie einzurichten. Findest du vorher dein Passwort oder deine Wiederherstellungsphrase, sagt das Öffnen deiner Schlüssel damit das Zurücksetzen ab.';
|
||||
}
|
||||
|
||||
@override
|
||||
String get simpleLoginResetDueTitle => 'Deine neuen Schlüssel';
|
||||
|
||||
@override
|
||||
String get simpleLoginResetDueIntro =>
|
||||
'Die angeforderten neuen Schlüssel lassen sich jetzt einrichten. Oder öffne deine alten Schlüssel mit deinem Passwort, was das Zurücksetzen absagt.';
|
||||
|
||||
@override
|
||||
String get simpleLoginResetNewKeys => 'Neue Schlüssel einrichten';
|
||||
|
||||
@override
|
||||
String get simpleLoginResetNewKeysHint =>
|
||||
'Ein neues Passwort und eine neue Wiederherstellungsphrase. Was mit deinen alten Schlüsseln verschlüsselt ist, geht verloren, außer du schließt auf einem Gerät ab, das noch angemeldet ist.';
|
||||
|
||||
@override
|
||||
String get simpleLoginResetHavePassword => 'Ich habe mein Passwort';
|
||||
|
||||
@override
|
||||
String get simpleLoginResetHavePasswordHint =>
|
||||
'Deine Schlüssel öffnen sich und bleiben.';
|
||||
|
||||
@override
|
||||
String get simpleLoginResetKeepIntro =>
|
||||
'Wähle ein neues Passwort: Deine Schlüssel bleiben, unter ihm und einer neuen Wiederherstellungsphrase, sodass nichts verloren geht. Deine anderen Geräte werden abgemeldet.';
|
||||
|
||||
@override
|
||||
String get simpleLoginResetFinish => 'Schlüssel einrichten';
|
||||
|
||||
@override
|
||||
String get simpleLoginProofKeyTitle => 'Dein Passwort und ein Code';
|
||||
|
||||
@override
|
||||
String simpleLoginProofKeyIntroAs(String handle) {
|
||||
return 'Mit SimpleLogin als @$handle angemeldet. Du meldest dich bei deinem Konto auch mit einem Passwort an: Gib es und einen Code aus deiner Authenticator-App einmal ein, dann öffnet dein Passwort deine Schlüssel künftig nach SimpleLogin.';
|
||||
}
|
||||
|
||||
@override
|
||||
String get simpleLoginProofKeyIntro =>
|
||||
'Du meldest dich bei deinem Konto auch mit einem Passwort an: Gib es und einen Code aus deiner Authenticator-App einmal ein, dann öffnet dein Passwort deine Schlüssel künftig nach SimpleLogin.';
|
||||
|
||||
@override
|
||||
String simpleLoginResetBanner(String date) {
|
||||
return 'Mit deinem SimpleLogin-Konto wurden neue Schlüssel angefordert: Ab dem $date kann sie einrichten, wer es hat. Warst du das nicht, sag es mit deinem Passwort ab.';
|
||||
}
|
||||
|
||||
@override
|
||||
String get simpleLoginResetBannerDue =>
|
||||
'Mit deinem SimpleLogin-Konto wurden neue Schlüssel angefordert, und wer es hat, kann sie jetzt einrichten. Warst du das nicht, sag es mit deinem Passwort ab.';
|
||||
|
||||
@override
|
||||
String get simpleLoginResetBannerDueHere =>
|
||||
'Mit deinem SimpleLogin-Konto wurden neue Schlüssel angefordert, die sich jetzt einrichten lassen. Warst du das, schließ hier ab: Deine Schlüssel bleiben. Wenn nicht, sag es mit deinem Passwort ab.';
|
||||
|
||||
@override
|
||||
String get simpleLoginResetFinishHere => 'Hier abschließen';
|
||||
|
||||
@override
|
||||
String get simpleLoginCallOffIntro =>
|
||||
'Dein Passwort sagt das Zurücksetzen deiner Schlüssel ab.';
|
||||
|
||||
@override
|
||||
String get simpleLoginResetCalledOff => 'Zurücksetzen abgesagt.';
|
||||
|
||||
@override
|
||||
String get simpleLoginResetFinished =>
|
||||
'Neues Passwort und neue Wiederherstellungsphrase gesetzt.';
|
||||
|
||||
@override
|
||||
String get simpleLoginUnavailable =>
|
||||
'Diese Instanz bietet die Anmeldung mit SimpleLogin nicht an.';
|
||||
|
|
|
|||
Loading…
Reference in a new issue