diff --git a/src/components/views/settings/tabs/room/RolesRoomSettingsTab.js b/src/components/views/settings/tabs/room/RolesRoomSettingsTab.js index 581c4314bc..6b5fded674 100644 --- a/src/components/views/settings/tabs/room/RolesRoomSettingsTab.js +++ b/src/components/views/settings/tabs/room/RolesRoomSettingsTab.js @@ -31,6 +31,7 @@ const plEventsToLabels = { "m.room.power_levels": _td("Change permissions"), "m.room.topic": _td("Change topic"), "m.room.tombstone": _td("Upgrade the room"), + "m.room.encryption": _td("Enable room encryption"), "im.vector.modular.widgets": _td("Modify widgets"), }; @@ -44,6 +45,7 @@ const plEventsToShow = { "m.room.power_levels": {isState: true}, "m.room.topic": {isState: true}, "m.room.tombstone": {isState: true}, + "m.room.encryption": {isState: true}, "im.vector.modular.widgets": {isState: true}, }; @@ -304,6 +306,11 @@ export default class RolesRoomSettingsTab extends React.Component { ; }); + // hide the power level selector for enabling E2EE if it the room is already encrypted + if (client.isRoomEncrypted(this.props.roomId)) { + delete eventsLevels["m.room.encryption"]; + } + const eventPowerSelectors = Object.keys(eventsLevels).map((eventType, i) => { let label = plEventsToLabels[eventType]; if (label) { diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index ce4598ed5f..c28431bc26 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -681,6 +681,7 @@ "Change permissions": "Change permissions", "Change topic": "Change topic", "Upgrade the room": "Upgrade the room", + "Enable room encryption": "Enable room encryption", "Modify widgets": "Modify widgets", "Failed to unban": "Failed to unban", "Unban": "Unban",