Skip to content

Commit 4ff1e79

Browse files
committed
create room : override invite power level for knockable rooms
1 parent ed1d208 commit 4ff1e79

File tree

1 file changed

+9
-1
lines changed
  • libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl

1 file changed

+9
-1
lines changed

libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import io.element.android.libraries.matrix.api.pusher.PushersService
3333
import io.element.android.libraries.matrix.api.room.CurrentUserMembership
3434
import io.element.android.libraries.matrix.api.room.MatrixRoom
3535
import io.element.android.libraries.matrix.api.room.PendingRoom
36+
import io.element.android.libraries.matrix.api.room.RoomMember
3637
import io.element.android.libraries.matrix.api.room.RoomMembershipObserver
3738
import io.element.android.libraries.matrix.api.room.alias.ResolvedRoomAlias
3839
import io.element.android.libraries.matrix.api.room.preview.RoomPreview
@@ -320,7 +321,14 @@ class RustMatrixClient(
320321
},
321322
invite = createRoomParams.invite?.map { it.value },
322323
avatar = createRoomParams.avatar,
323-
powerLevelContentOverride = defaultRoomCreationPowerLevels,
324+
powerLevelContentOverride = defaultRoomCreationPowerLevels.copy(
325+
invite = if (createRoomParams.joinRuleOverride == JoinRuleOverride.Knock) {
326+
// override the invite power level so it's the same as kick.
327+
RoomMember.Role.MODERATOR.powerLevel.toInt()
328+
} else {
329+
null
330+
}
331+
),
324332
joinRuleOverride = when (createRoomParams.joinRuleOverride) {
325333
JoinRuleOverride.Knock -> RustJoinRule.Knock
326334
JoinRuleOverride.None -> null

0 commit comments

Comments
 (0)