Fix room locking bugs

This commit is contained in:
Kelrap 2024-06-18 15:57:06 -04:00
parent 1cf0caf48d
commit 718a998576
2 changed files with 6 additions and 7 deletions

View file

@ -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;

View file

@ -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);