fix: Missing type check in power level calculation

This commit is contained in:
Christian Pauly 2022-04-03 08:22:53 +02:00
parent 245246460d
commit cdd6111ce1
1 changed files with 6 additions and 3 deletions

View File

@ -1559,7 +1559,8 @@ class Room {
}
bool _hasPermissionFor(String action) {
final pl = getState(EventTypes.RoomPowerLevels)?.content[action];
final pl =
getState(EventTypes.RoomPowerLevels)?.content.tryGet<int>(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<String, dynamic>('events')
?.tryGet<int>(eventType);
if (pl == null) {
return eventType == EventTypes.Message
? canSendDefaultMessages