fix: canChangePowerLevel should return true for own user

This commit is contained in:
krille-chan 2024-04-15 10:50:00 +02:00
parent 41df6d74e6
commit edcf331bf3
No known key found for this signature in database
2 changed files with 7 additions and 3 deletions

View File

@ -169,10 +169,14 @@ class User extends Event {
room.canKick &&
powerLevel < room.ownPowerLevel;
@Deprecated('Use [canChangeUserPowerLevel] instead.')
bool get canChangePowerLevel => canChangeUserPowerLevel;
/// Whether the client is allowed to change the power level of this user.
/// Please be aware that you can only set the power level to at least your own!
bool get canChangePowerLevel =>
room.canChangePowerLevel && powerLevel < room.ownPowerLevel;
bool get canChangeUserPowerLevel =>
room.canChangePowerLevel &&
(powerLevel < room.ownPowerLevel || id == room.client.userID);
@override
bool operator ==(Object other) => (other is User &&

View File

@ -140,7 +140,7 @@ void main() {
expect(user1.canKick, false);
});
test('canChangePowerLevel', () async {
expect(user1.canChangePowerLevel, false);
expect(user1.canChangeUserPowerLevel, false);
});
test('mention', () async {
expect(user1.mention, '@[Alice M]');