Files
tatuchat/lib/utils/other_party_can_receive.dart
Welton Moura 0037b0b9cf
Some checks failed
Main Deploy Workflow / deploy_web (push) Has been cancelled
Main Deploy Workflow / deploy_playstore_internal (push) Has been cancelled
Close stale issues and PRs / stale (push) Has been cancelled
Initial commit
2026-09-11 15:59:56 -03:00

27 lines
746 B
Dart

// SPDX-FileCopyrightText: 2019-Present Christian Kußowski
// SPDX-FileCopyrightText: 2019-Present Contributors to FluffyChat
//
// SPDX-License-Identifier: AGPL-3.0-or-later
import 'package:matrix/matrix.dart';
extension OtherPartyCanReceiveExtension on Room {
bool get otherPartyCanReceiveMessages {
if (!encrypted) return true;
final users = getParticipants()
.map((u) => u.id)
.where((userId) => userId != client.userID)
.toSet();
if (users.isEmpty) return true;
for (final userId in users) {
if (client.userDeviceKeys[userId]?.deviceKeys.values.isNotEmpty == true) {
return true;
}
}
return false;
}
}
class OtherPartyCanNotReceiveMessages implements Exception {}