Fix room locking bugs
This commit is contained in:
parent
1cf0caf48d
commit
718a998576
2 changed files with 6 additions and 7 deletions
|
|
@ -71,18 +71,16 @@ extension RoomInformationRoomExtension on Room {
|
|||
return (eventsDefaultPowerLevel ?? 0) >=
|
||||
ClassDefaultValues.powerLevelOfAdmin;
|
||||
}
|
||||
int joinedRooms = 0;
|
||||
for (final child in spaceChildren) {
|
||||
if (child.roomId == null) continue;
|
||||
final Room? room = client.getRoomById(child.roomId!);
|
||||
if (room?.isLocked == false) {
|
||||
if (room == null || room.isAnalyticsRoom || room.isArchived) continue;
|
||||
if (!room._isLocked) {
|
||||
return false;
|
||||
}
|
||||
if (room != null) {
|
||||
joinedRooms += 1;
|
||||
}
|
||||
}
|
||||
return joinedRooms > 0 ? true : false;
|
||||
return (eventsDefaultPowerLevel ?? 0) >=
|
||||
ClassDefaultValues.powerLevelOfAdmin;
|
||||
}
|
||||
|
||||
bool get _isPangeaClass => isSpace && languageSettingsStateEvent != null;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import 'package:fluffychat/pangea/extensions/pangea_room_extension/pangea_room_extension.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
|
||||
Future<void> lockRoom(Room room, Client client) async {
|
||||
|
|
@ -65,7 +66,7 @@ Future<void> lockSpace(Room space, Client client) async {
|
|||
continue;
|
||||
}
|
||||
}
|
||||
if (child == null) continue;
|
||||
if (child == null || child.isArchived || child.isAnalyticsRoom) continue;
|
||||
child.isSpace
|
||||
? await lockSpace(child, client)
|
||||
: await lockChat(child, client);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue