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

@ -2076,6 +2076,21 @@
"publishTagsSent": "Die Namen der Tags, die mitgehen und die die Instanz erfährt: {names}",
"@publishTagsSent": {"placeholders": {"names": {"type": "String"}}},
"publishTagsSentNone": "Es gehen keine Tags mit.",
"privacyAdoptTitle": "Unsignierte Änderungen übernehmen?",
"privacyAdoptBody": "Während es privat gemacht wurde, hat ein Gerät ohne deine Schlüssel es geändert: {parts}. Übernommen, werden sie als deine versiegelt; sonst bleiben sie gesperrt, wie alles, was die Instanz geschrieben haben könnte.",
"@privacyAdoptBody": {"placeholders": {"parts": {"type": "String"}}},
"privacyAdoptTake": "Übernehmen",
"privacyAdoptLeave": "Gesperrt lassen",
"privacyEditsCards": "{count, plural, =1{1 Karteikarte} other{{count} Karteikarten}}",
"@privacyEditsCards": {"placeholders": {"count": {"type": "int"}}},
"privacyEditsNotes": "{count, plural, =1{1 Notiz} other{{count} Notizen}}",
"@privacyEditsNotes": {"placeholders": {"count": {"type": "int"}}},
"privacyEditsPaths": "{count, plural, =1{1 Änderung an Lernpfaden} other{{count} Änderungen an Lernpfaden}}",
"@privacyEditsPaths": {"placeholders": {"count": {"type": "int"}}},
"privacyEditsPdfs": "{count, plural, =1{1 PDF} other{{count} PDFs}}",
"@privacyEditsPdfs": {"placeholders": {"count": {"type": "int"}}},
"privacyEditsStudysets": "{count, plural, =1{1 Lernset} other{{count} Lernsets}}",
"@privacyEditsStudysets": {"placeholders": {"count": {"type": "int"}}},
"studysetLockedTitle": "Gesperrt",
"studysetLockedBody": "Dieses Lernset ist privat, und sein Schlüssel öffnet sich auf diesem Gerät nicht: Es wurde mit Schlüsseln verschlüsselt, die dein Konto nicht mehr hat. Es lässt sich nur noch löschen.",
"studysetVisibilityPartly": "Privat, teils lesbar",