diff --git a/PROGRESS.md b/PROGRESS.md index d412eaa..4948b06 100644 --- a/PROGRESS.md +++ b/PROGRESS.md @@ -49,6 +49,11 @@ Schritt (und beim Abbruch mitten im Schritt den Zwischenstand). Format: stets vor Abschluss der Neuanmeldung – Risiko war klein. E2E-Live-Test nutzt jetzt denselben App-Baustein. +- **Android-Backup aus** (allowBackup=false, fullBackupContent=false, + dataExtractionRules schließt Cloud-Backup UND Geräteumzug aus): verhindert + den Aussperr-Fall „verschlüsselte DB ohne Schlüssel auf neuem Handy“ und + den Push-Token im Cloud-Backup. Gradle 8.13 → 8.14.3. + **Offen/Nächster Schritt:** Bernd testet 0.1.37 auf dem Handy (Push mit mehreren Nachrichten + Bild, „Gelesen“, Statusleiste, Vollansicht-Gesten, Sprechblasen, Schriftgröße). Danach ROADMAP: SDK-Logout-Wettlauf im diff --git a/ROADMAP.md b/ROADMAP.md index 5370f4c..def0a6f 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -160,6 +160,13 @@ Punkte abhaken (`[x]`), wenn erledigt UND in `PROGRESS.md` protokolliert. Gitea-API (`/api/v1/repos/steggi/pyramid/releases`). Repo privat = Utas App findet keine Updates mehr (und ein Fix ließe sich nicht mehr per Update verteilen – Henne-Ei). Erst Updater-Strategie klären, dann Sichtbarkeit ändern. +- [x] **Android-Backup/Geräteumzug abgeschaltet** (2026-10-07): ohne + `allowBackup=false` + `dataExtractionRules` wäre die SQLCipher-DB beim + Handywechsel ohne ihren Keystore-Schlüssel mitgezogen → App startet + nicht (Aussperr-Fall), und der Push-Zugangsschlüssel aus den + SharedPreferences läge im Cloud-Backup. Neues Gerät = neu anmelden + + Schlüssel per Wiederherstellungsschlüssel. Im APK geprüft (aapt2, + `dumpsys package`: kein ALLOW_BACKUP mehr). - [ ] Härtetest dokumentieren: Login → Nachrichten → Logout → Login neu → alles noch lesbar (gehört zum ausstehenden PC-Praxistest der beiden Bugfixes oben; kompletter Ablauf inkl. aller aufgelaufenen UNGETESTET-Punkte steht @@ -296,7 +303,7 @@ lassen, ohne dass andere Module angefasst werden müssen. (libwebrtc #142) ist auch in 1.6.2+hotfix.4 NICHT enthalten (Changelog geprüft 2026-10-07) → Dummy-PeerConnection-Workaround bleibt nötig. - - Android-Build: Gradle 8.13 → ≥ 8.14 (Flutter-Warnung) und Umstieg auf + - Android-Build: Gradle 8.13 → 8.14.3 ERLEDIGT (2026-10-07). Offen: Umstieg auf „Built-in Kotlin“ (Flutter kündigt Build-Fehler für das Kotlin-Plugin an; betrifft auch Plugins wie flutter_webrtc/livekit_client). - `flutter_markdown` ist eingestellt (pub: „replaced by diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index a70299e..eb6d204 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -17,10 +17,15 @@ + + android:icon="@mipmap/ic_launcher" + android:allowBackup="false" + android:fullBackupContent="false" + android:dataExtractionRules="@xml/data_extraction_rules"> + + + + + + + + + + + + + + + + + diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 02767eb..74b269f 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-all.zip