diff --git a/features/roommembermoderation/api/src/main/kotlin/io/element/android/features/roommembermoderation/api/RoomMemberModerationPermissions.kt b/features/roommembermoderation/api/src/main/kotlin/io/element/android/features/roommembermoderation/api/RoomMemberModerationPermissions.kt index 223456de69..87414b836e 100644 --- a/features/roommembermoderation/api/src/main/kotlin/io/element/android/features/roommembermoderation/api/RoomMemberModerationPermissions.kt +++ b/features/roommembermoderation/api/src/main/kotlin/io/element/android/features/roommembermoderation/api/RoomMemberModerationPermissions.kt @@ -13,6 +13,9 @@ data class RoomMemberModerationPermissions( val canKick: Boolean, val canBan: Boolean, ) { + // Unban requires both kick and ban permission instead of a dedicated unban permission + val canUnban = canBan && canKick + companion object { val DEFAULT = RoomMemberModerationPermissions( canKick = false, diff --git a/features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/RoomMemberModerationPresenter.kt b/features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/RoomMemberModerationPresenter.kt index 3a5c364b31..2a876fc484 100644 --- a/features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/RoomMemberModerationPresenter.kt +++ b/features/roommembermoderation/impl/src/main/kotlin/io/element/android/features/roommembermoderation/impl/RoomMemberModerationPresenter.kt @@ -163,8 +163,7 @@ class RoomMemberModerationPresenter( val membership = member?.membership ?: RoomMembershipState.JOIN when (membership) { RoomMembershipState.BAN -> { - // Unban requires both kick and ban permission instead of a dedicated unban permission - if (permissions.canBan && permissions.canKick) { + if (permissions.canUnban) { add(ModerationActionState(action = ModerationAction.UnbanUser, isEnabled = canModerateThisUser)) } }