event/powerlevels: fix some set user level calls in v12 rooms

This commit is contained in:
Tulir Asokan 2025-10-24 12:41:20 +03:00
commit 5d87d14b88

View file

@ -135,6 +135,12 @@ func (pl *PowerLevelsEventContent) GetUserLevel(userID id.UserID) int {
func (pl *PowerLevelsEventContent) SetUserLevel(userID id.UserID, level int) {
pl.usersLock.Lock()
defer pl.usersLock.Unlock()
if pl.isCreator(userID) {
return
}
if level == math.MaxInt {
level = 1<<53 - 1
}
if level == pl.UsersDefault {
delete(pl.Users, userID)
} else {