feat(privacy): Finish takes in edits nobody signed once the person agrees (ADR 0019)

Finishing a partly readable studyset counts the edits a device without
the keys wrote readable while it was made private, by kind (flashcards,
notes, learning paths, PDFs, studysets), and asks: taken in, they are
sealed with the tree's key as the person's; left, they stay locked (the
short reading of 22 Oct, finding 11). In English and German. Tests on the
real gateways both ways, and of the dialog.

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-22 10:38:43 +02:00
commit 991bef47eb
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -12237,6 +12237,60 @@ abstract class AppLocalizations {
/// **'No tags go with it.'**
String get publishTagsSentNone;
/// No description provided for @privacyAdoptTitle.
///
/// In en, this message translates to:
/// **'Take in edits nobody signed?'**
String get privacyAdoptTitle;
/// No description provided for @privacyAdoptBody.
///
/// In en, this message translates to:
/// **'While it was made private, a device without your keys changed it: {parts}. Taken in, they are sealed as yours; left, they stay locked, as anything the instance could have written.'**
String privacyAdoptBody(String parts);
/// No description provided for @privacyAdoptTake.
///
/// In en, this message translates to:
/// **'Take them in'**
String get privacyAdoptTake;
/// No description provided for @privacyAdoptLeave.
///
/// In en, this message translates to:
/// **'Leave them locked'**
String get privacyAdoptLeave;
/// No description provided for @privacyEditsCards.
///
/// In en, this message translates to:
/// **'{count, plural, =1{1 flashcard} other{{count} flashcards}}'**
String privacyEditsCards(int count);
/// No description provided for @privacyEditsNotes.
///
/// In en, this message translates to:
/// **'{count, plural, =1{1 note} other{{count} notes}}'**
String privacyEditsNotes(int count);
/// No description provided for @privacyEditsPaths.
///
/// In en, this message translates to:
/// **'{count, plural, =1{1 change to learning paths} other{{count} changes to learning paths}}'**
String privacyEditsPaths(int count);
/// No description provided for @privacyEditsPdfs.
///
/// In en, this message translates to:
/// **'{count, plural, =1{1 PDF} other{{count} PDFs}}'**
String privacyEditsPdfs(int count);
/// No description provided for @privacyEditsStudysets.
///
/// In en, this message translates to:
/// **'{count, plural, =1{1 studyset} other{{count} studysets}}'**
String privacyEditsStudysets(int count);
/// No description provided for @studysetLockedTitle.
///
/// In en, this message translates to: