feat(app)!: no anonymous accounts on the device (ADR 0020, D4, D25)
Every account has a way in, so the apps make no anonymous account any more. The start screen shows whenever nobody is signed in, a first start included, and offers SimpleLogin, a password and GitHub for those who have it, with no start without an account. An instance out of reach is said so, with Try again, and one offering no way to create an account too. An anonymous account's session left from before is deleted as the app starts (D25), falling back to signing out on the device. What only anonymous accounts needed goes: signing in anonymously, the signed-out mark, adding GitHub to an account and switching to a GitHub account from the Profile tab (with its Cancel, the only one), an anonymous device's own keys, the warning that signing out deletes the account, and the texts about keeping progress. Settings says on which instance the account is signed in. Learn's publishing, reports and suggestions and its learner count no longer ask whether the person has an identity: everyone signed in has one. The server still offers anonymous sign-in until the next commit, so older apps keep working until v0.20.0 raises the minimum build. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
parent
fad12b4411
commit
5b9df73756
5 changed files with 981 additions and 3339 deletions
|
|
@ -27,16 +27,13 @@
|
|||
"accountAdd": "Konto hinzufügen",
|
||||
"accountAddSubtitle": "Wähle die Instanz für das Konto, das du hinzufügst.",
|
||||
"accountSignedIn": "Angemeldet",
|
||||
"accountAnonymous": "Anonym",
|
||||
"accountRemoveTooltip": "Konto entfernen",
|
||||
"accountRemoveTitle": "Konto entfernen?",
|
||||
"accountRemoveMessage": "Entfernt das Konto auf {name} von diesem Gerät, mit allem, was das Gerät davon hat. Was es synchronisiert hat, bleibt auf {name}: Melde dich dort wieder an, um es wiederzuhaben. In ein anonymes Konto kann man sich nicht wieder anmelden.",
|
||||
"accountRemoveMessage": "Entfernt das Konto auf {name} von diesem Gerät, mit allem, was das Gerät davon hat. Was es synchronisiert hat, bleibt auf {name}: Melde dich dort wieder an, um es wiederzuhaben.",
|
||||
"accountRemoveConfirm": "Entfernen",
|
||||
"accountSignedInOn": "Angemeldet auf {instance}",
|
||||
"accountAnonymousOn": "Anonym auf {instance}",
|
||||
"accountSwitch": "Konto wechseln",
|
||||
"accountSignOut": "Abmelden",
|
||||
"accountSignOutTitle": "Abmelden?",
|
||||
"accountDelete": "Konto löschen",
|
||||
"accountDeleteTitle": "Dein Konto löschen?",
|
||||
"accountSignOutFailed": "Abmelden auf diesem Gerät hat nicht geklappt. Versuch es noch einmal.",
|
||||
|
|
@ -48,16 +45,14 @@
|
|||
"startSignedOut": "Abgemeldet",
|
||||
"startOn": "Starte auf {instance}:",
|
||||
"startWithGitHub": "Mit GitHub anmelden",
|
||||
"startWithoutAccount": "Ohne Konto starten",
|
||||
"startAnonymous": "Dein Fortschritt wird auf diesem Gerät gespeichert. Melde dich an, um ihn zu behalten.",
|
||||
"startGitHubFailed": "Anmeldung mit GitHub fehlgeschlagen.",
|
||||
"startNoGitHubAccount": "Noch kein Konto hier meldet sich mit diesem GitHub-Konto an.",
|
||||
"startNoGitHubAccount": "Kein Konto hier meldet sich mit diesem GitHub-Konto an.",
|
||||
"gitHubCreateAccountInstead": "Erstelle stattdessen ein Konto mit deiner E-Mail-Adresse und einem Passwort.",
|
||||
"gitHubNoAccountSetUpPassword": "Noch kein Konto hier meldet sich mit diesem GitHub-Konto an. Richte stattdessen ein Passwort ein, um deinen Fortschritt zu behalten.",
|
||||
"gitHubSimpleLoginInstead": "Mit SimpleLogin kannst du stattdessen eins erstellen.",
|
||||
"gitHubUsePassword": "Dieses Konto meldet sich jetzt mit seiner E-Mail-Adresse und seinem Passwort an, nicht mehr mit GitHub.",
|
||||
"gitHubDeprecated": "GitHub lässt sich nicht mehr als Anmeldeweg hinzufügen: Deine E-Mail-Adresse und dein Passwort sind es.",
|
||||
"gitHubEnded": "Die Anmeldung mit GitHub ist auf dieser Instanz beendet.",
|
||||
"startOtherInstance": "Andere Instanz verwenden",
|
||||
"startNoWay": "{instance} bietet keinen Weg, ein Konto zu erstellen.",
|
||||
"syncTitle": "Synchronisierung",
|
||||
"syncNow": "Jetzt synchronisieren",
|
||||
"syncStateSyncing": "Wird synchronisiert…",
|
||||
|
|
|
|||
|
|
@ -116,10 +116,9 @@
|
|||
"accountAdd": "Add account",
|
||||
"accountAddSubtitle": "Choose the instance for the account to add.",
|
||||
"accountSignedIn": "Signed in",
|
||||
"accountAnonymous": "Anonymous",
|
||||
"accountRemoveTooltip": "Remove account",
|
||||
"accountRemoveTitle": "Remove account?",
|
||||
"accountRemoveMessage": "Removes the account on {name} from this device, with all the device holds of it. What it synced stays on {name}: sign in there again to have it. An anonymous account can't be signed into again.",
|
||||
"accountRemoveMessage": "Removes the account on {name} from this device, with all the device holds of it. What it synced stays on {name}: sign in there again to have it.",
|
||||
"@accountRemoveMessage": {
|
||||
"placeholders": {
|
||||
"name": {
|
||||
|
|
@ -136,17 +135,8 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"accountAnonymousOn": "Anonymous on {instance}",
|
||||
"@accountAnonymousOn": {
|
||||
"placeholders": {
|
||||
"instance": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"accountSwitch": "Switch account",
|
||||
"accountSignOut": "Sign out",
|
||||
"accountSignOutTitle": "Sign out?",
|
||||
"accountDelete": "Delete account",
|
||||
"accountDeleteTitle": "Delete your account?",
|
||||
"accountSignOutFailed": "Couldn't sign out on this device. Try again.",
|
||||
|
|
@ -165,22 +155,28 @@
|
|||
}
|
||||
},
|
||||
"startWithGitHub": "Sign in with GitHub",
|
||||
"startWithoutAccount": "Start without an account",
|
||||
"startAnonymous": "Progress is saved on this device. Sign in to keep it.",
|
||||
"startGitHubFailed": "Couldn't sign in with GitHub.",
|
||||
"startNoGitHubAccount": "No account here signs in with this GitHub account yet.",
|
||||
"startNoGitHubAccount": "No account here signs in with this GitHub account.",
|
||||
"gitHubCreateAccountInstead": "Create an account with your email address and a password instead.",
|
||||
"@gitHubCreateAccountInstead": {
|
||||
"description": "Said after a GitHub account nobody on the instance signs in with, where people sign in with a password and GitHub is added to nobody (ADR 0017)."
|
||||
},
|
||||
"gitHubNoAccountSetUpPassword": "No account here signs in with this GitHub account yet. To keep your progress, set up a password instead.",
|
||||
"@gitHubNoAccountSetUpPassword": {
|
||||
"description": "An anonymous person signed in with a GitHub account nobody here has, where GitHub is added to nobody: the password set up below keeps their account."
|
||||
"gitHubSimpleLoginInstead": "Continue with SimpleLogin to create one instead.",
|
||||
"@gitHubSimpleLoginInstead": {
|
||||
"description": "Said after a GitHub account nobody on the instance signs in with, where the instance offers SimpleLogin (ADR 0020): GitHub makes no account."
|
||||
},
|
||||
"gitHubUsePassword": "This account signs in with its email address and password now, not with GitHub.",
|
||||
"gitHubDeprecated": "GitHub can't be added as a way to sign in any more: your email address and password are.",
|
||||
"gitHubEnded": "Sign-in with GitHub has ended on this instance.",
|
||||
"startOtherInstance": "Use another instance",
|
||||
"startNoWay": "{instance} offers no way to create an account.",
|
||||
"@startNoWay": {
|
||||
"description": "On the start screen, where the instance offers neither SimpleLogin nor a password (ADR 0020, D4): nobody can make an account there.",
|
||||
"placeholders": {
|
||||
"instance": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"syncTitle": "Sync",
|
||||
"syncNow": "Sync now",
|
||||
"syncStateSyncing": "Syncing…",
|
||||
|
|
|
|||
|
|
@ -265,12 +265,6 @@ abstract class HalkyonAppLocalizations {
|
|||
/// **'Signed in'**
|
||||
String get accountSignedIn;
|
||||
|
||||
/// No description provided for @accountAnonymous.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Anonymous'**
|
||||
String get accountAnonymous;
|
||||
|
||||
/// No description provided for @accountRemoveTooltip.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
@ -286,7 +280,7 @@ abstract class HalkyonAppLocalizations {
|
|||
/// No description provided for @accountRemoveMessage.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Removes the account on {name} from this device, with all the device holds of it. What it synced stays on {name}: sign in there again to have it. An anonymous account can\'t be signed into again.'**
|
||||
/// **'Removes the account on {name} from this device, with all the device holds of it. What it synced stays on {name}: sign in there again to have it.'**
|
||||
String accountRemoveMessage(String name);
|
||||
|
||||
/// No description provided for @accountRemoveConfirm.
|
||||
|
|
@ -301,12 +295,6 @@ abstract class HalkyonAppLocalizations {
|
|||
/// **'Signed in on {instance}'**
|
||||
String accountSignedInOn(String instance);
|
||||
|
||||
/// No description provided for @accountAnonymousOn.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Anonymous on {instance}'**
|
||||
String accountAnonymousOn(String instance);
|
||||
|
||||
/// No description provided for @accountSwitch.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
@ -319,12 +307,6 @@ abstract class HalkyonAppLocalizations {
|
|||
/// **'Sign out'**
|
||||
String get accountSignOut;
|
||||
|
||||
/// No description provided for @accountSignOutTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Sign out?'**
|
||||
String get accountSignOutTitle;
|
||||
|
||||
/// No description provided for @accountDelete.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
@ -391,18 +373,6 @@ abstract class HalkyonAppLocalizations {
|
|||
/// **'Sign in with GitHub'**
|
||||
String get startWithGitHub;
|
||||
|
||||
/// No description provided for @startWithoutAccount.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Start without an account'**
|
||||
String get startWithoutAccount;
|
||||
|
||||
/// No description provided for @startAnonymous.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Progress is saved on this device. Sign in to keep it.'**
|
||||
String get startAnonymous;
|
||||
|
||||
/// No description provided for @startGitHubFailed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
@ -412,7 +382,7 @@ abstract class HalkyonAppLocalizations {
|
|||
/// No description provided for @startNoGitHubAccount.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'No account here signs in with this GitHub account yet.'**
|
||||
/// **'No account here signs in with this GitHub account.'**
|
||||
String get startNoGitHubAccount;
|
||||
|
||||
/// Said after a GitHub account nobody on the instance signs in with, where people sign in with a password and GitHub is added to nobody (ADR 0017).
|
||||
|
|
@ -421,11 +391,11 @@ abstract class HalkyonAppLocalizations {
|
|||
/// **'Create an account with your email address and a password instead.'**
|
||||
String get gitHubCreateAccountInstead;
|
||||
|
||||
/// An anonymous person signed in with a GitHub account nobody here has, where GitHub is added to nobody: the password set up below keeps their account.
|
||||
/// Said after a GitHub account nobody on the instance signs in with, where the instance offers SimpleLogin (ADR 0020): GitHub makes no account.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'No account here signs in with this GitHub account yet. To keep your progress, set up a password instead.'**
|
||||
String get gitHubNoAccountSetUpPassword;
|
||||
/// **'Continue with SimpleLogin to create one instead.'**
|
||||
String get gitHubSimpleLoginInstead;
|
||||
|
||||
/// No description provided for @gitHubUsePassword.
|
||||
///
|
||||
|
|
@ -433,12 +403,6 @@ abstract class HalkyonAppLocalizations {
|
|||
/// **'This account signs in with its email address and password now, not with GitHub.'**
|
||||
String get gitHubUsePassword;
|
||||
|
||||
/// No description provided for @gitHubDeprecated.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'GitHub can\'t be added as a way to sign in any more: your email address and password are.'**
|
||||
String get gitHubDeprecated;
|
||||
|
||||
/// No description provided for @gitHubEnded.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
@ -451,6 +415,12 @@ abstract class HalkyonAppLocalizations {
|
|||
/// **'Use another instance'**
|
||||
String get startOtherInstance;
|
||||
|
||||
/// On the start screen, where the instance offers neither SimpleLogin nor a password (ADR 0020, D4): nobody can make an account there.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'{instance} offers no way to create an account.'**
|
||||
String startNoWay(String instance);
|
||||
|
||||
/// No description provided for @syncTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
|
|||
|
|
@ -113,9 +113,6 @@ class HalkyonAppLocalizationsDe extends HalkyonAppLocalizations {
|
|||
@override
|
||||
String get accountSignedIn => 'Angemeldet';
|
||||
|
||||
@override
|
||||
String get accountAnonymous => 'Anonym';
|
||||
|
||||
@override
|
||||
String get accountRemoveTooltip => 'Konto entfernen';
|
||||
|
||||
|
|
@ -124,7 +121,7 @@ class HalkyonAppLocalizationsDe extends HalkyonAppLocalizations {
|
|||
|
||||
@override
|
||||
String accountRemoveMessage(String name) {
|
||||
return 'Entfernt das Konto auf $name von diesem Gerät, mit allem, was das Gerät davon hat. Was es synchronisiert hat, bleibt auf $name: Melde dich dort wieder an, um es wiederzuhaben. In ein anonymes Konto kann man sich nicht wieder anmelden.';
|
||||
return 'Entfernt das Konto auf $name von diesem Gerät, mit allem, was das Gerät davon hat. Was es synchronisiert hat, bleibt auf $name: Melde dich dort wieder an, um es wiederzuhaben.';
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
@ -135,20 +132,12 @@ class HalkyonAppLocalizationsDe extends HalkyonAppLocalizations {
|
|||
return 'Angemeldet auf $instance';
|
||||
}
|
||||
|
||||
@override
|
||||
String accountAnonymousOn(String instance) {
|
||||
return 'Anonym auf $instance';
|
||||
}
|
||||
|
||||
@override
|
||||
String get accountSwitch => 'Konto wechseln';
|
||||
|
||||
@override
|
||||
String get accountSignOut => 'Abmelden';
|
||||
|
||||
@override
|
||||
String get accountSignOutTitle => 'Abmelden?';
|
||||
|
||||
@override
|
||||
String get accountDelete => 'Konto löschen';
|
||||
|
||||
|
|
@ -189,36 +178,25 @@ class HalkyonAppLocalizationsDe extends HalkyonAppLocalizations {
|
|||
@override
|
||||
String get startWithGitHub => 'Mit GitHub anmelden';
|
||||
|
||||
@override
|
||||
String get startWithoutAccount => 'Ohne Konto starten';
|
||||
|
||||
@override
|
||||
String get startAnonymous =>
|
||||
'Dein Fortschritt wird auf diesem Gerät gespeichert. Melde dich an, um ihn zu behalten.';
|
||||
|
||||
@override
|
||||
String get startGitHubFailed => 'Anmeldung mit GitHub fehlgeschlagen.';
|
||||
|
||||
@override
|
||||
String get startNoGitHubAccount =>
|
||||
'Noch kein Konto hier meldet sich mit diesem GitHub-Konto an.';
|
||||
'Kein Konto hier meldet sich mit diesem GitHub-Konto an.';
|
||||
|
||||
@override
|
||||
String get gitHubCreateAccountInstead =>
|
||||
'Erstelle stattdessen ein Konto mit deiner E-Mail-Adresse und einem Passwort.';
|
||||
|
||||
@override
|
||||
String get gitHubNoAccountSetUpPassword =>
|
||||
'Noch kein Konto hier meldet sich mit diesem GitHub-Konto an. Richte stattdessen ein Passwort ein, um deinen Fortschritt zu behalten.';
|
||||
String get gitHubSimpleLoginInstead =>
|
||||
'Mit SimpleLogin kannst du stattdessen eins erstellen.';
|
||||
|
||||
@override
|
||||
String get gitHubUsePassword =>
|
||||
'Dieses Konto meldet sich jetzt mit seiner E-Mail-Adresse und seinem Passwort an, nicht mehr mit GitHub.';
|
||||
|
||||
@override
|
||||
String get gitHubDeprecated =>
|
||||
'GitHub lässt sich nicht mehr als Anmeldeweg hinzufügen: Deine E-Mail-Adresse und dein Passwort sind es.';
|
||||
|
||||
@override
|
||||
String get gitHubEnded =>
|
||||
'Die Anmeldung mit GitHub ist auf dieser Instanz beendet.';
|
||||
|
|
@ -226,6 +204,11 @@ class HalkyonAppLocalizationsDe extends HalkyonAppLocalizations {
|
|||
@override
|
||||
String get startOtherInstance => 'Andere Instanz verwenden';
|
||||
|
||||
@override
|
||||
String startNoWay(String instance) {
|
||||
return '$instance bietet keinen Weg, ein Konto zu erstellen.';
|
||||
}
|
||||
|
||||
@override
|
||||
String get syncTitle => 'Synchronisierung';
|
||||
|
||||
|
|
|
|||
|
|
@ -113,9 +113,6 @@ class HalkyonAppLocalizationsEn extends HalkyonAppLocalizations {
|
|||
@override
|
||||
String get accountSignedIn => 'Signed in';
|
||||
|
||||
@override
|
||||
String get accountAnonymous => 'Anonymous';
|
||||
|
||||
@override
|
||||
String get accountRemoveTooltip => 'Remove account';
|
||||
|
||||
|
|
@ -124,7 +121,7 @@ class HalkyonAppLocalizationsEn extends HalkyonAppLocalizations {
|
|||
|
||||
@override
|
||||
String accountRemoveMessage(String name) {
|
||||
return 'Removes the account on $name from this device, with all the device holds of it. What it synced stays on $name: sign in there again to have it. An anonymous account can\'t be signed into again.';
|
||||
return 'Removes the account on $name from this device, with all the device holds of it. What it synced stays on $name: sign in there again to have it.';
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
@ -135,20 +132,12 @@ class HalkyonAppLocalizationsEn extends HalkyonAppLocalizations {
|
|||
return 'Signed in on $instance';
|
||||
}
|
||||
|
||||
@override
|
||||
String accountAnonymousOn(String instance) {
|
||||
return 'Anonymous on $instance';
|
||||
}
|
||||
|
||||
@override
|
||||
String get accountSwitch => 'Switch account';
|
||||
|
||||
@override
|
||||
String get accountSignOut => 'Sign out';
|
||||
|
||||
@override
|
||||
String get accountSignOutTitle => 'Sign out?';
|
||||
|
||||
@override
|
||||
String get accountDelete => 'Delete account';
|
||||
|
||||
|
|
@ -187,42 +176,36 @@ class HalkyonAppLocalizationsEn extends HalkyonAppLocalizations {
|
|||
@override
|
||||
String get startWithGitHub => 'Sign in with GitHub';
|
||||
|
||||
@override
|
||||
String get startWithoutAccount => 'Start without an account';
|
||||
|
||||
@override
|
||||
String get startAnonymous =>
|
||||
'Progress is saved on this device. Sign in to keep it.';
|
||||
|
||||
@override
|
||||
String get startGitHubFailed => 'Couldn\'t sign in with GitHub.';
|
||||
|
||||
@override
|
||||
String get startNoGitHubAccount =>
|
||||
'No account here signs in with this GitHub account yet.';
|
||||
'No account here signs in with this GitHub account.';
|
||||
|
||||
@override
|
||||
String get gitHubCreateAccountInstead =>
|
||||
'Create an account with your email address and a password instead.';
|
||||
|
||||
@override
|
||||
String get gitHubNoAccountSetUpPassword =>
|
||||
'No account here signs in with this GitHub account yet. To keep your progress, set up a password instead.';
|
||||
String get gitHubSimpleLoginInstead =>
|
||||
'Continue with SimpleLogin to create one instead.';
|
||||
|
||||
@override
|
||||
String get gitHubUsePassword =>
|
||||
'This account signs in with its email address and password now, not with GitHub.';
|
||||
|
||||
@override
|
||||
String get gitHubDeprecated =>
|
||||
'GitHub can\'t be added as a way to sign in any more: your email address and password are.';
|
||||
|
||||
@override
|
||||
String get gitHubEnded => 'Sign-in with GitHub has ended on this instance.';
|
||||
|
||||
@override
|
||||
String get startOtherInstance => 'Use another instance';
|
||||
|
||||
@override
|
||||
String startNoWay(String instance) {
|
||||
return '$instance offers no way to create an account.';
|
||||
}
|
||||
|
||||
@override
|
||||
String get syncTitle => 'Sync';
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue