Désiré Werner Menrath 40dc2d5e24 refactor(encryption): Überarbeitung der Verschlüsselungslogik und Vereinfachung der Sperrmechanismen
Dieses Commit führt eine grundlegende Überarbeitung der Verschlüsselungsmethode für Einkaufslisten ein und vereinfacht die Verschlüsselung für Notizen und Rezepte, um die Komplexität zu reduzieren und die Robustheit zu erhöhen.

HAUPTÄNDERUNGEN:

- **Einkaufslisten-Verschlüsselung:**
  - Anstatt jeden Artikel einzeln zu verschlüsseln, wird nun die gesamte Artikelliste in ein JSON-Format serialisiert, verschlüsselt und in einer neuen Spalte (encryptedItems) in der shopping_lists-Tabelle gespeichert.
  - Beim Sperren werden die ursprünglichen Artikel aus ihrer Tabelle entfernt und beim Entsperren aus dem verschlüsselten JSON-String wiederhergestellt.
  - Dies vereinfacht die Zustandsverwaltung erheblich und verhindert das Hinzufügen von Artikeln zu gesperrten Listen.

- **Notiz- & Rezept-Verschlüsselung:**
  - Die Verschlüsselung wurde so vereinfacht, dass nur noch der Inhalt (content) und nicht mehr der Titel (title) verschlüsselt wird. Dies reduziert die Komplexität und potenzielle Fehlerquellen.

- **State Management & UI:**
  - Das isDecrypted-Flag wurde aus den Details-Datenklassen entfernt.
  - Für Einkaufslisten werden entschlüsselte Artikel nun für die Dauer der Sitzung im ViewModel zwischengespeichert (sessionUnlockedItems), was die Logik vereinfacht.
  - Die UI wurde angepasst, um diese Änderungen zu unterstützen und die Handhabung von gesperrten Inhalten zu verbessern.

- **Fehlerbehandlung & Datenbank:**
  - Verbesserte Fehlerbehandlung bei Entschlüsselungsfehlern (z.B. bei beschädigten Daten) mit Nutzerbenachrichtigung.
  - Die Datenbankversion wurde auf 8 erhöht und eine entsprechende Migration hinzugefügt.
2025-10-19 14:19:07 +02:00
Description
Noteshop is a versatile and privacy-focused application for managing your notes, shopping lists, and recipes all in one place. It is designed to be simple, efficient, and fully under your control
2.4 MiB
Languages
Kotlin 98%
Python 2%