feat: Logout-Warnung bei fehlendem Key-Backup (M1)
Beide Logout-Bestätigungsdialoge prüfen jetzt vorab per neuem isKeyBackupMissing(client) (bootstrap_dialog.dart), ob Cross-Signing/ Key-Backup eingerichtet ist. Fehlt es, zeigt der Dialog eine Klartext-Warnung: alte verschlüsselte Nachrichten wären nach dem Logout auf keinem Gerät mehr lesbar. Ohne fehlendes Backup bleibt der bisherige Text unverändert.
This commit is contained in:
@@ -3,6 +3,15 @@ import 'package:matrix/encryption.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
import 'package:pyramid/core/theme.dart';
|
||||
|
||||
/// Ob Cross-Signing/Key-Backup fehlt oder nicht entsperrt ist — wenn ja, würde
|
||||
/// ein Logout den Zugriff auf ältere verschlüsselte Nachrichten kosten.
|
||||
Future<bool> isKeyBackupMissing(Client client) async {
|
||||
final enc = client.encryption;
|
||||
if (enc == null) return true;
|
||||
if (!enc.crossSigning.enabled) return true;
|
||||
return !(await enc.keyManager.isCached().catchError((_) => false));
|
||||
}
|
||||
|
||||
Future<void> showBootstrapDialog(
|
||||
BuildContext context,
|
||||
Client client, {
|
||||
|
||||
Reference in New Issue
Block a user