fix: Enable E2EE by default in all start chat cases

This commit is contained in:
Krille Fear 2021-10-25 11:51:38 +02:00
commit cb5cdaeaf1
3 changed files with 31 additions and 5 deletions

View file

@ -86,7 +86,19 @@ class UserBottomSheetController extends State<UserBottomSheet> {
case 'message':
final roomIdResult = await showFutureLoadingDialog(
context: context,
future: () => widget.user.startDirectChat(),
future: () async {
final roomId = await widget.user.startDirectChat();
final client = widget.user.room.client;
if (client.getRoomById(roomId) == null) {
await client.onSync.stream.firstWhere(
(sync) => sync.rooms?.join?.containsKey(roomId) ?? false);
}
final room = client.getRoomById(roomId);
if (client.encryptionEnabled && !room.encrypted) {
await client.getRoomById(roomId).enableEncryption();
}
return roomId;
},
);
if (roomIdResult.error != null) return;
VRouter.of(widget.outerContext)