From cdd6111ce1a9fe65a3a740aa743cb7291c577943 Mon Sep 17 00:00:00 2001 From: Christian Pauly Date: Sun, 3 Apr 2022 08:22:53 +0200 Subject: [PATCH] fix: Missing type check in power level calculation --- lib/src/room.dart | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/src/room.dart b/lib/src/room.dart index edbf1729..6f4da2b6 100644 --- a/lib/src/room.dart +++ b/lib/src/room.dart @@ -1559,7 +1559,8 @@ class Room { } bool _hasPermissionFor(String action) { - final pl = getState(EventTypes.RoomPowerLevels)?.content[action]; + final pl = + getState(EventTypes.RoomPowerLevels)?.content.tryGet(action); if (pl == null) { return true; } @@ -1589,8 +1590,10 @@ class Room { bool get canChangePowerLevel => canSendEvent(EventTypes.RoomPowerLevels); bool canSendEvent(String eventType) { - final pl = - getState(EventTypes.RoomPowerLevels)?.content['events']?[eventType]; + final pl = getState(EventTypes.RoomPowerLevels) + ?.content + .tryGetMap('events') + ?.tryGet(eventType); if (pl == null) { return eventType == EventTypes.Message ? canSendDefaultMessages