From 131f499c25828b0c52401ca7556c14b78f23bbbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Sat, 27 Feb 2021 08:04:20 +0100 Subject: [PATCH 01/20] Add Confirm Public Encrypted Room dialog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Šimon Brandner --- .../tabs/room/SecurityRoomSettingsTab.js | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.js b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.js index f72e78fa3f9..b1be77064a3 100644 --- a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.js +++ b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.js @@ -147,7 +147,7 @@ export default class SecurityRoomSettingsTab extends React.Component { }); }; - _onRoomAccessRadioToggle = (roomAccess) => { + _setRoomAccess = (roomAccess) => { // join_rule // INVITE | PUBLIC // ----------------------+---------------- @@ -191,6 +191,29 @@ export default class SecurityRoomSettingsTab extends React.Component { console.error(e); this.setState({guestAccess: beforeGuestAccess}); }); + } + + _onRoomAccessRadioToggle = async (roomAccess) => { + if ( + this.state.encrypted && + this.state.joinRule != "public" && + roomAccess != "invite_only" + ) { + Modal.createTrackedDialog('Confirm Public Encrypted Room', '', QuestionDialog, { + title: _t('Confirm making this room public?'), + description: _t( + "Making end-to-end encrypted rooms public renders the " + + "encryption pointless, wastes processing power, and can cause " + + "performance problems. Please consider creating a separate " + + "unencrypted public room.", + ), + onFinished: (confirm) => { + if (confirm) this._setRoomAccess(roomAccess); + }, + }); + } else { + this._setRoomAccess(roomAccess); + } }; _onHistoryRadioToggle = (history) => { From 0d9bc009689ad2df73cc8a601ca70a4f7c3e2ddd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Sat, 27 Feb 2021 08:04:30 +0100 Subject: [PATCH 02/20] i18n MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Šimon Brandner --- src/i18n/strings/en_EN.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 5bbbdf60b59..10d0b56e7fa 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -1337,6 +1337,8 @@ "Select the roles required to change various parts of the room": "Select the roles required to change various parts of the room", "Enable encryption?": "Enable encryption?", "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.": "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.", + "Confirm making this room public?": "Confirm making this room public?", + "Making end-to-end encrypted rooms public renders the encryption pointless, wastes processing power, and can cause performance problems. Please consider creating a separate unencrypted public room.": "Making end-to-end encrypted rooms public renders the encryption pointless, wastes processing power, and can cause performance problems. Please consider creating a separate unencrypted public room.", "Guests cannot join this room even if explicitly invited.": "Guests cannot join this room even if explicitly invited.", "Click here to fix": "Click here to fix", "To link to this room, please add an address.": "To link to this room, please add an address.", From 5d6bc9a88663463587768c49495e8c03e8f77a30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Sun, 28 Feb 2021 08:29:31 +0100 Subject: [PATCH 03/20] Add second Confirm Public Encrypted Room dialog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Šimon Brandner --- .../tabs/room/SecurityRoomSettingsTab.js | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.js b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.js index b1be77064a3..e3c23c890ce 100644 --- a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.js +++ b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.js @@ -91,7 +91,24 @@ export default class SecurityRoomSettingsTab extends React.Component { if (refreshWhenTypes.includes(e.getType())) this.forceUpdate(); }; - _onEncryptionChange = (e) => { + _onEncryptionChange = async (e) => { + if (this.state.joinRule == "public") { + const {finished} = Modal.createTrackedDialog('Confirm Public Encrypted Room', '', QuestionDialog, { + title: _t('Enable encryption in a public room?'), + description: _t( + "Note that enabling encryption in public rooms renders the " + + "encryption pointless, wastes processing power, and can cause " + + "performance problems. Please consider creating a separate " + + "encrypted room.", + ), + }); + const [confirm] = await finished; + if (!confirm) { + this.setState({encrypted: false}); + return; + } + } + Modal.createTrackedDialog('Enable encryption', '', QuestionDialog, { title: _t('Enable encryption?'), description: _t( From 5a55b0dcf03e1a86a1a5eb3a33a9664b186d75bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Sun, 28 Feb 2021 08:29:37 +0100 Subject: [PATCH 04/20] i18n MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Šimon Brandner --- src/i18n/strings/en_EN.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 10d0b56e7fa..42ad88c01ed 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -1335,6 +1335,8 @@ "Roles & Permissions": "Roles & Permissions", "Permissions": "Permissions", "Select the roles required to change various parts of the room": "Select the roles required to change various parts of the room", + "Enable encryption in a public room?": "Enable encryption in a public room?", + "Note that enabling encryption in public rooms renders the encryption pointless, wastes processing power, and can cause performance problems. Please consider creating a separate encrypted room.": "Note that enabling encryption in public rooms renders the encryption pointless, wastes processing power, and can cause performance problems. Please consider creating a separate encrypted room.", "Enable encryption?": "Enable encryption?", "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.": "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.", "Confirm making this room public?": "Confirm making this room public?", From 24428783f53dfe88b79477374cc8f34e88fc98c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Sun, 28 Feb 2021 09:54:05 +0100 Subject: [PATCH 05/20] Remove unnecessary async MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Šimon Brandner --- .../views/settings/tabs/room/SecurityRoomSettingsTab.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.js b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.js index e3c23c890ce..ccc54702652 100644 --- a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.js +++ b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.js @@ -210,7 +210,7 @@ export default class SecurityRoomSettingsTab extends React.Component { }); } - _onRoomAccessRadioToggle = async (roomAccess) => { + _onRoomAccessRadioToggle = (roomAccess) => { if ( this.state.encrypted && this.state.joinRule != "public" && From 02c13788236b13dbcbcfe490e497a784c766996d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Sat, 22 May 2021 17:19:07 +0200 Subject: [PATCH 06/20] Fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Šimon Brandner --- .../views/settings/tabs/room/SecurityRoomSettingsTab.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx index b165cec8cd7..73cf70b91a1 100644 --- a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx +++ b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx @@ -121,7 +121,7 @@ export default class SecurityRoomSettingsTab extends React.Component { + private onEncryptionChange = async (e: React.ChangeEvent) => { if (this.state.joinRule == "public") { const {finished} = Modal.createTrackedDialog('Confirm Public Encrypted Room', '', QuestionDialog, { title: _t('Enable encryption in a public room?'), @@ -239,7 +239,7 @@ export default class SecurityRoomSettingsTab extends React.Component { + private onRoomAccessRadioToggle = (roomAccess) => { if ( this.state.encrypted && this.state.joinRule != "public" && From c478b4efb5b6877d2500787ed05d5c74fcbd122c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Mon, 12 Jul 2021 19:20:19 +0200 Subject: [PATCH 07/20] Improve "Are you sure you want to make this encrypted room public?" dialog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Šimon Brandner --- res/css/_common.scss | 5 ++ .../tabs/room/SecurityRoomSettingsTab.tsx | 47 +++++++++++++++---- src/i18n/strings/en_EN.json | 5 +- 3 files changed, 46 insertions(+), 11 deletions(-) diff --git a/res/css/_common.scss b/res/css/_common.scss index b128a824428..97d2acc1afd 100644 --- a/res/css/_common.scss +++ b/res/css/_common.scss @@ -381,6 +381,11 @@ input[type=text]:focus, input[type=password]:focus, textarea:focus { font-size: $font-14px; color: $primary-fg-color; word-wrap: break-word; + + a { + color: $accent-color; + cursor: pointer; + } } .mx_Dialog_buttons { diff --git a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx index 4f036c5776a..063e29751e0 100644 --- a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx +++ b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx @@ -27,6 +27,8 @@ import SettingsStore from "../../../../../settings/SettingsStore"; import { UIFeature } from "../../../../../settings/UIFeature"; import { replaceableComponent } from "../../../../../utils/replaceableComponent"; import SettingsFlag from '../../../elements/SettingsFlag'; +import createRoom, { IOpts } from '../../../../../createRoom'; +import CreateRoomDialog from '../../../dialogs/CreateRoomDialog'; // Knock and private are reserved keywords which are not yet implemented. export enum JoinRule { @@ -124,7 +126,7 @@ export default class SecurityRoomSettingsTab extends React.Component { + private onEncryptionChange = async () => { if (this.state.joinRule == "public") { const { finished } = Modal.createTrackedDialog('Confirm Public Encrypted Room', '', QuestionDialog, { title: _t('Enable encryption in a public room?'), @@ -262,20 +264,47 @@ export default class SecurityRoomSettingsTab extends React.Component { + const modal = Modal.createTrackedDialog<[boolean, IOpts]>( + "Create Room", + "Create room after trying to make an E2EE room public", + CreateRoomDialog, + { defaultPublic }, + ); + const [shouldCreate, opts] = await modal.finished; + if (shouldCreate) { + await createRoom(opts); + } + return shouldCreate; + }; + private onRoomAccessRadioToggle = (roomAccess) => { if ( this.state.encrypted && this.state.joinRule != "public" && roomAccess != "invite_only" ) { - Modal.createTrackedDialog('Confirm Public Encrypted Room', '', QuestionDialog, { - title: _t('Confirm making this room public?'), - description: _t( - "Making end-to-end encrypted rooms public renders the " + - "encryption pointless, wastes processing power, and can cause " + - "performance problems. Please consider creating a separate " + - "unencrypted public room.", - ), + const dialog = Modal.createTrackedDialog('Confirm Public Encrypted Room', '', QuestionDialog, { + title: _t("Are you sure you want to make this encrypted room public?"), + description:
+

{ _t( + " It’s not recommended to make end-to-end encrypted rooms public. It " + + "means anyone can find and join this room, so anyone can read messages. You’ll " + + "get none of the benefits of encryption. Encrypting messages in a public room " + + "will also likely make receiving and sending messages slower than necessary.", + null, + { "b": (sub) => { sub } }, + )}

+

{ _t( + "To avoid these issues, create a new public room for the conversation " + + "you plan to have.", + null, + { "a": (sub) => { + dialog.close(); + this.createNewRoom(true); + }}> {sub} }, + )}

+
, onFinished: (confirm) => { if (confirm) this._setRoomAccess(roomAccess); }, diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 1dad3525e17..bfd257e0bb7 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -1437,8 +1437,9 @@ "Note that enabling encryption in public rooms renders the encryption pointless, wastes processing power, and can cause performance problems. Please consider creating a separate encrypted room.": "Note that enabling encryption in public rooms renders the encryption pointless, wastes processing power, and can cause performance problems. Please consider creating a separate encrypted room.", "Enable encryption?": "Enable encryption?", "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.": "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.", - "Confirm making this room public?": "Confirm making this room public?", - "Making end-to-end encrypted rooms public renders the encryption pointless, wastes processing power, and can cause performance problems. Please consider creating a separate unencrypted public room.": "Making end-to-end encrypted rooms public renders the encryption pointless, wastes processing power, and can cause performance problems. Please consider creating a separate unencrypted public room.", + "Are you sure you want to make this encrypted room public?": "Are you sure you want to make this encrypted room public?", + " It’s not recommended to make end-to-end encrypted rooms public. It means anyone can find and join this room, so anyone can read messages. You’ll get none of the benefits of encryption. Encrypting messages in a public room will also likely make receiving and sending messages slower than necessary.": " It’s not recommended to make end-to-end encrypted rooms public. It means anyone can find and join this room, so anyone can read messages. You’ll get none of the benefits of encryption. Encrypting messages in a public room will also likely make receiving and sending messages slower than necessary.", + "To avoid these issues, create a new public room for the conversation you plan to have.": "To avoid these issues, create a new public room for the conversation you plan to have.", "Guests cannot join this room even if explicitly invited.": "Guests cannot join this room even if explicitly invited.", "Click here to fix": "Click here to fix", "To link to this room, please add an address.": "To link to this room, please add an address.", From 90ecdac47b1810fc641fa89505b00791607920f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Mon, 12 Jul 2021 19:22:09 +0200 Subject: [PATCH 08/20] Types! MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Šimon Brandner --- .../views/settings/tabs/room/SecurityRoomSettingsTab.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx index 063e29751e0..1727e77557b 100644 --- a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx +++ b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx @@ -208,7 +208,7 @@ export default class SecurityRoomSettingsTab extends React.Component { + private setRoomAccess = (roomAccess: string) => { // join_rule // INVITE | PUBLIC // ----------------------+---------------- @@ -278,7 +278,7 @@ export default class SecurityRoomSettingsTab extends React.Component { + private onRoomAccessRadioToggle = (roomAccess: string) => { if ( this.state.encrypted && this.state.joinRule != "public" && @@ -306,11 +306,11 @@ export default class SecurityRoomSettingsTab extends React.Component , onFinished: (confirm) => { - if (confirm) this._setRoomAccess(roomAccess); + if (confirm) this.setRoomAccess(roomAccess); }, }); } else { - this._setRoomAccess(roomAccess); + this.setRoomAccess(roomAccess); } }; From 0e4ea9705079bab8c0611377170f36eb622e982d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Tue, 13 Jul 2021 13:31:24 +0200 Subject: [PATCH 09/20] Add defaultEncrypted prop MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Šimon Brandner --- src/components/views/dialogs/CreateRoomDialog.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/views/dialogs/CreateRoomDialog.tsx b/src/components/views/dialogs/CreateRoomDialog.tsx index b5c0096771f..c050e87bdf6 100644 --- a/src/components/views/dialogs/CreateRoomDialog.tsx +++ b/src/components/views/dialogs/CreateRoomDialog.tsx @@ -37,6 +37,7 @@ interface IProps { defaultPublic?: boolean; defaultName?: string; parentSpace?: Room; + defaultEncrypted?: boolean; onFinished(proceed: boolean, opts?: IOpts): void; } @@ -63,7 +64,7 @@ export default class CreateRoomDialog extends React.Component { const config = SdkConfig.get(); this.state = { isPublic: this.props.defaultPublic || false, - isEncrypted: privateShouldBeEncrypted(), + isEncrypted: this.props.defaultEncrypted ?? privateShouldBeEncrypted(), name: this.props.defaultName || "", topic: "", alias: "", From d7acaa9fb048ac7f9a7680467b51453fd48a8a07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Tue, 13 Jul 2021 13:38:48 +0200 Subject: [PATCH 10/20] Update onEncryptionChange dialog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Šimon Brandner --- .../tabs/room/SecurityRoomSettingsTab.tsx | 40 ++++++++++++++----- src/i18n/strings/en_EN.json | 5 ++- 2 files changed, 32 insertions(+), 13 deletions(-) diff --git a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx index 1727e77557b..5edf0731a39 100644 --- a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx +++ b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx @@ -128,16 +128,34 @@ export default class SecurityRoomSettingsTab extends React.Component { if (this.state.joinRule == "public") { - const { finished } = Modal.createTrackedDialog('Confirm Public Encrypted Room', '', QuestionDialog, { - title: _t('Enable encryption in a public room?'), - description: _t( - "Note that enabling encryption in public rooms renders the " + - "encryption pointless, wastes processing power, and can cause " + - "performance problems. Please consider creating a separate " + - "encrypted room.", - ), + const dialog = Modal.createTrackedDialog('Confirm Public Encrypted Room', '', QuestionDialog, { + title: _t('Are you sure you want to add encryption to this public room?'), + description:
+

{ _t( + " It’s not recommended to turn on encryption on for public rooms. " + + "Anyone can find and join public rooms, so anyone can read messages. You’ll " + + "get none of the benefits of encryption, and you won't be able to turn it " + + "off later. Encrypting messages in a public room will also likely make " + + "receiving and sending messages slower than necessary.", + null, + { "b": (sub) => { sub } }, + )}

+

{ _t( + "To avoid these issues, create a new private encrypted room for " + + "the conversation you plan to have.", + null, + { "a": (sub) => { + dialog.close(); + this.createNewRoom(false, true); + }}> {sub} }, + )}

+
, + }); + + const { finished } = dialog; const [confirm] = await finished; + if (!confirm) { this.setState({ encrypted: false }); return; @@ -264,12 +282,12 @@ export default class SecurityRoomSettingsTab extends React.Component { + private createNewRoom = async (defaultPublic: boolean, defaultEncrypted: boolean) => { const modal = Modal.createTrackedDialog<[boolean, IOpts]>( "Create Room", "Create room after trying to make an E2EE room public", CreateRoomDialog, - { defaultPublic }, + { defaultPublic, defaultEncrypted }, ); const [shouldCreate, opts] = await modal.finished; if (shouldCreate) { @@ -301,7 +319,7 @@ export default class SecurityRoomSettingsTab extends React.Component { dialog.close(); - this.createNewRoom(true); + this.createNewRoom(true, false); }}> {sub} }, )}

, diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index bfd257e0bb7..a72a8de232c 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -1433,8 +1433,9 @@ "Roles & Permissions": "Roles & Permissions", "Permissions": "Permissions", "Select the roles required to change various parts of the room": "Select the roles required to change various parts of the room", - "Enable encryption in a public room?": "Enable encryption in a public room?", - "Note that enabling encryption in public rooms renders the encryption pointless, wastes processing power, and can cause performance problems. Please consider creating a separate encrypted room.": "Note that enabling encryption in public rooms renders the encryption pointless, wastes processing power, and can cause performance problems. Please consider creating a separate encrypted room.", + "Are you sure you want to add encryption to this public room?": "Are you sure you want to add encryption to this public room?", + " It’s not recommended to turn on encryption on for public rooms. Anyone can find and join public rooms, so anyone can read messages. You’ll get none of the benefits of encryption, and you won't be able to turn it off later. Encrypting messages in a public room will also likely make receiving and sending messages slower than necessary.": " It’s not recommended to turn on encryption on for public rooms. Anyone can find and join public rooms, so anyone can read messages. You’ll get none of the benefits of encryption, and you won't be able to turn it off later. Encrypting messages in a public room will also likely make receiving and sending messages slower than necessary.", + "To avoid these issues, create a new private encrypted room for the conversation you plan to have.": "To avoid these issues, create a new private encrypted room for the conversation you plan to have.", "Enable encryption?": "Enable encryption?", "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.": "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.", "Are you sure you want to make this encrypted room public?": "Are you sure you want to make this encrypted room public?", From 82e0bcea65bc54bd3bf71dc71f0cb82e3135cfe6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Tue, 13 Jul 2021 13:44:00 +0200 Subject: [PATCH 11/20] Remove unnecessary code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Šimon Brandner --- .../views/settings/tabs/room/SecurityRoomSettingsTab.tsx | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx index 5edf0731a39..c7a834d499d 100644 --- a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx +++ b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx @@ -155,11 +155,7 @@ export default class SecurityRoomSettingsTab extends React.Component Date: Wed, 28 Jul 2021 16:49:03 +0200 Subject: [PATCH 12/20] Update copy MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Šimon Brandner --- .../tabs/room/SecurityRoomSettingsTab.tsx | 18 +++++++++--------- src/i18n/strings/en_EN.json | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx index 214a0b69ef3..e03b6f592f0 100644 --- a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx +++ b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx @@ -137,11 +137,11 @@ export default class SecurityRoomSettingsTab extends React.Component

{ _t( - " It’s not recommended to turn on encryption on for public rooms. " + - "Anyone can find and join public rooms, so anyone can read messages. You’ll " + - "get none of the benefits of encryption, and you won't be able to turn it " + - "off later. Encrypting messages in a public room will also likely make " + - "receiving and sending messages slower than necessary.", + " It’s not recommended to add encryption to public rooms. " + + "Anyone can find and join public rooms, so anyone can read messages in them. " + + "You’ll get none of the benefits of encryption, and you won’t be able to turn it " + + "off later. Encrypting messages in a public room will make receiving and sending " + + "messages slower.", null, { "b": (sub) => { sub } }, ) }

@@ -236,10 +236,10 @@ export default class SecurityRoomSettingsTab extends React.Component

{ _t( - " It’s not recommended to make end-to-end encrypted rooms public. It " + - "means anyone can find and join this room, so anyone can read messages. You’ll " + - "get none of the benefits of encryption. Encrypting messages in a public room " + - "will also likely make receiving and sending messages slower than necessary.", + " It’s not recommended to make encrypted rooms public. It " + + "It will mean anyone can find and join the room, so anyone can read messages. " + + "You’ll get none of the benefits of encryption. Encrypting messages in a public " + + "room will make receiving and sending messages slower.", null, { "b": (sub) => { sub } }, ) }

diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 2ab0ea56a46..fc97f9d0ec7 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -1427,13 +1427,13 @@ "Permissions": "Permissions", "Select the roles required to change various parts of the room": "Select the roles required to change various parts of the room", "Are you sure you want to add encryption to this public room?": "Are you sure you want to add encryption to this public room?", - " It’s not recommended to turn on encryption on for public rooms. Anyone can find and join public rooms, so anyone can read messages. You’ll get none of the benefits of encryption, and you won't be able to turn it off later. Encrypting messages in a public room will also likely make receiving and sending messages slower than necessary.": " It’s not recommended to turn on encryption on for public rooms. Anyone can find and join public rooms, so anyone can read messages. You’ll get none of the benefits of encryption, and you won't be able to turn it off later. Encrypting messages in a public room will also likely make receiving and sending messages slower than necessary.", + " It’s not recommended to add encryption to public rooms. Anyone can find and join public rooms, so anyone can read messages in them. You’ll get none of the benefits of encryption, and you won’t be able to turn it off later. Encrypting messages in a public room will make receiving and sending messages slower.": " It’s not recommended to add encryption to public rooms. Anyone can find and join public rooms, so anyone can read messages in them. You’ll get none of the benefits of encryption, and you won’t be able to turn it off later. Encrypting messages in a public room will make receiving and sending messages slower.", "To avoid these issues, create a new private encrypted room for the conversation you plan to have.": "To avoid these issues, create a new private encrypted room for the conversation you plan to have.", "Enable encryption?": "Enable encryption?", "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.": "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.", "This upgrade will allow members of selected spaces access to this room without an invite.": "This upgrade will allow members of selected spaces access to this room without an invite.", "Are you sure you want to make this encrypted room public?": "Are you sure you want to make this encrypted room public?", - " It’s not recommended to make end-to-end encrypted rooms public. It means anyone can find and join this room, so anyone can read messages. You’ll get none of the benefits of encryption. Encrypting messages in a public room will also likely make receiving and sending messages slower than necessary.": " It’s not recommended to make end-to-end encrypted rooms public. It means anyone can find and join this room, so anyone can read messages. You’ll get none of the benefits of encryption. Encrypting messages in a public room will also likely make receiving and sending messages slower than necessary.", + " It’s not recommended to make encrypted rooms public. It It will mean anyone can find and join the room, so anyone can read messages. You’ll get none of the benefits of encryption. Encrypting messages in a public room will make receiving and sending messages slower.": " It’s not recommended to make encrypted rooms public. It It will mean anyone can find and join the room, so anyone can read messages. You’ll get none of the benefits of encryption. Encrypting messages in a public room will make receiving and sending messages slower.", "To avoid these issues, create a new public room for the conversation you plan to have.": "To avoid these issues, create a new public room for the conversation you plan to have.", "To link to this room, please add an address.": "To link to this room, please add an address.", "Private (invite only)": "Private (invite only)", From 168a32902e8da185184fef34722936e144c45076 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Wed, 28 Jul 2021 16:50:40 +0200 Subject: [PATCH 13/20] Remove additional word MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Šimon Brandner --- .../views/settings/tabs/room/SecurityRoomSettingsTab.tsx | 2 +- src/i18n/strings/en_EN.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx index e03b6f592f0..7def68448f6 100644 --- a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx +++ b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx @@ -146,7 +146,7 @@ export default class SecurityRoomSettingsTab extends React.Component { sub } }, ) }

{ _t( - "To avoid these issues, create a new private encrypted room for " + + "To avoid these issues, create a new encrypted room for " + "the conversation you plan to have.", null, { "a": (sub) => { diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index fc97f9d0ec7..a00a8e1c9bc 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -1428,7 +1428,7 @@ "Select the roles required to change various parts of the room": "Select the roles required to change various parts of the room", "Are you sure you want to add encryption to this public room?": "Are you sure you want to add encryption to this public room?", " It’s not recommended to add encryption to public rooms. Anyone can find and join public rooms, so anyone can read messages in them. You’ll get none of the benefits of encryption, and you won’t be able to turn it off later. Encrypting messages in a public room will make receiving and sending messages slower.": " It’s not recommended to add encryption to public rooms. Anyone can find and join public rooms, so anyone can read messages in them. You’ll get none of the benefits of encryption, and you won’t be able to turn it off later. Encrypting messages in a public room will make receiving and sending messages slower.", - "To avoid these issues, create a new private encrypted room for the conversation you plan to have.": "To avoid these issues, create a new private encrypted room for the conversation you plan to have.", + "To avoid these issues, create a new encrypted room for the conversation you plan to have.": "To avoid these issues, create a new encrypted room for the conversation you plan to have.", "Enable encryption?": "Enable encryption?", "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.": "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.", "This upgrade will allow members of selected spaces access to this room without an invite.": "This upgrade will allow members of selected spaces access to this room without an invite.", From e0762827feac962267fa8f59e18d9b8a81d126b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Wed, 28 Jul 2021 17:19:32 +0200 Subject: [PATCH 14/20] Fix typo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Šimon Brandner --- .../views/settings/tabs/room/SecurityRoomSettingsTab.tsx | 2 +- src/i18n/strings/en_EN.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx index 7def68448f6..5aa46bd62a2 100644 --- a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx +++ b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx @@ -236,7 +236,7 @@ export default class SecurityRoomSettingsTab extends React.Component

{ _t( - " It’s not recommended to make encrypted rooms public. It " + + " It’s not recommended to make encrypted rooms public. " + "It will mean anyone can find and join the room, so anyone can read messages. " + "You’ll get none of the benefits of encryption. Encrypting messages in a public " + "room will make receiving and sending messages slower.", diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index a00a8e1c9bc..f20d7db6c86 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -1433,7 +1433,7 @@ "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.": "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.", "This upgrade will allow members of selected spaces access to this room without an invite.": "This upgrade will allow members of selected spaces access to this room without an invite.", "Are you sure you want to make this encrypted room public?": "Are you sure you want to make this encrypted room public?", - " It’s not recommended to make encrypted rooms public. It It will mean anyone can find and join the room, so anyone can read messages. You’ll get none of the benefits of encryption. Encrypting messages in a public room will make receiving and sending messages slower.": " It’s not recommended to make encrypted rooms public. It It will mean anyone can find and join the room, so anyone can read messages. You’ll get none of the benefits of encryption. Encrypting messages in a public room will make receiving and sending messages slower.", + " It’s not recommended to make encrypted rooms public. It will mean anyone can find and join the room, so anyone can read messages. You’ll get none of the benefits of encryption. Encrypting messages in a public room will make receiving and sending messages slower.": " It’s not recommended to make encrypted rooms public. It will mean anyone can find and join the room, so anyone can read messages. You’ll get none of the benefits of encryption. Encrypting messages in a public room will make receiving and sending messages slower.", "To avoid these issues, create a new public room for the conversation you plan to have.": "To avoid these issues, create a new public room for the conversation you plan to have.", "To link to this room, please add an address.": "To link to this room, please add an address.", "Private (invite only)": "Private (invite only)", From 717691ef2f7114ed227f1d6f46924ecd1980e1a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Fri, 6 Aug 2021 07:40:25 +0200 Subject: [PATCH 15/20] Remove spaces Co-authored-by: Travis Ralston --- .../views/settings/tabs/room/SecurityRoomSettingsTab.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx index 5aa46bd62a2..58b12b18c39 100644 --- a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx +++ b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx @@ -143,7 +143,7 @@ export default class SecurityRoomSettingsTab extends React.Component { sub } }, + { "b": (sub) => { sub } }, ) }

{ _t( "To avoid these issues, create a new encrypted room for " + From 67062dab88707b4c1fe26553969c08efb1cfed20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Fri, 6 Aug 2021 07:40:35 +0200 Subject: [PATCH 16/20] Remove spaces Co-authored-by: Travis Ralston --- .../views/settings/tabs/room/SecurityRoomSettingsTab.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx index 58b12b18c39..8d870564b26 100644 --- a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx +++ b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx @@ -137,7 +137,7 @@ export default class SecurityRoomSettingsTab extends React.Component

{ _t( - " It’s not recommended to add encryption to public rooms. " + + "It's not recommended to add encryption to public rooms." + "Anyone can find and join public rooms, so anyone can read messages in them. " + "You’ll get none of the benefits of encryption, and you won’t be able to turn it " + "off later. Encrypting messages in a public room will make receiving and sending " + From 94f915a4363dc4379e9e92b0ba02881581951fc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Fri, 6 Aug 2021 07:41:23 +0200 Subject: [PATCH 17/20] Remove spaces Co-authored-by: Travis Ralston --- .../views/settings/tabs/room/SecurityRoomSettingsTab.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx index 8d870564b26..97b924c8a28 100644 --- a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx +++ b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx @@ -146,7 +146,7 @@ export default class SecurityRoomSettingsTab extends React.Component { sub } }, ) }

{ _t( - "To avoid these issues, create a new encrypted room for " + + "To avoid these issues, create a new encrypted room for " + "the conversation you plan to have.", null, { "a": (sub) => { From 1e9437db7bd17c686cec55cd2b69551542243e9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Fri, 6 Aug 2021 07:41:37 +0200 Subject: [PATCH 18/20] Use correct character Co-authored-by: Travis Ralston --- .../views/settings/tabs/room/SecurityRoomSettingsTab.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx index 97b924c8a28..6362b5c7902 100644 --- a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx +++ b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx @@ -139,7 +139,7 @@ export default class SecurityRoomSettingsTab extends React.Component { _t( "It's not recommended to add encryption to public rooms." + "Anyone can find and join public rooms, so anyone can read messages in them. " + - "You’ll get none of the benefits of encryption, and you won’t be able to turn it " + + "You'll get none of the benefits of encryption, and you won't be able to turn it " + "off later. Encrypting messages in a public room will make receiving and sending " + "messages slower.", null, From 3abc419266a250f42f8b3242105c55a3eae866c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Fri, 6 Aug 2021 07:41:56 +0200 Subject: [PATCH 19/20] Remove spaces and use correct character Co-authored-by: Travis Ralston --- .../views/settings/tabs/room/SecurityRoomSettingsTab.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx index 6362b5c7902..d9e97d570b0 100644 --- a/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx +++ b/src/components/views/settings/tabs/room/SecurityRoomSettingsTab.tsx @@ -236,15 +236,15 @@ export default class SecurityRoomSettingsTab extends React.Component

{ _t( - " It’s not recommended to make encrypted rooms public. " + + "It's not recommended to make encrypted rooms public. " + "It will mean anyone can find and join the room, so anyone can read messages. " + - "You’ll get none of the benefits of encryption. Encrypting messages in a public " + + "You'll get none of the benefits of encryption. Encrypting messages in a public " + "room will make receiving and sending messages slower.", null, - { "b": (sub) => { sub } }, + { "b": (sub) => { sub } }, ) }

{ _t( - "To avoid these issues, create a new public room for the conversation " + + "To avoid these issues, create a new public room for the conversation " + "you plan to have.", null, { From 1b8aae9556814e977e776d8cb8bbed3429af554f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=A0imon=20Brandner?= Date: Fri, 6 Aug 2021 07:56:56 +0200 Subject: [PATCH 20/20] i18n MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Šimon Brandner --- src/i18n/strings/en_EN.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 77d10b87199..abc08f66511 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -1437,14 +1437,14 @@ "Permissions": "Permissions", "Select the roles required to change various parts of the room": "Select the roles required to change various parts of the room", "Are you sure you want to add encryption to this public room?": "Are you sure you want to add encryption to this public room?", - " It’s not recommended to add encryption to public rooms. Anyone can find and join public rooms, so anyone can read messages in them. You’ll get none of the benefits of encryption, and you won’t be able to turn it off later. Encrypting messages in a public room will make receiving and sending messages slower.": " It’s not recommended to add encryption to public rooms. Anyone can find and join public rooms, so anyone can read messages in them. You’ll get none of the benefits of encryption, and you won’t be able to turn it off later. Encrypting messages in a public room will make receiving and sending messages slower.", - "To avoid these issues, create a new encrypted room for the conversation you plan to have.": "To avoid these issues, create a new encrypted room for the conversation you plan to have.", + "It's not recommended to add encryption to public rooms.Anyone can find and join public rooms, so anyone can read messages in them. You'll get none of the benefits of encryption, and you won't be able to turn it off later. Encrypting messages in a public room will make receiving and sending messages slower.": "It's not recommended to add encryption to public rooms.Anyone can find and join public rooms, so anyone can read messages in them. You'll get none of the benefits of encryption, and you won't be able to turn it off later. Encrypting messages in a public room will make receiving and sending messages slower.", + "To avoid these issues, create a new encrypted room for the conversation you plan to have.": "To avoid these issues, create a new encrypted room for the conversation you plan to have.", "Enable encryption?": "Enable encryption?", "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.": "Once enabled, encryption for a room cannot be disabled. Messages sent in an encrypted room cannot be seen by the server, only by the participants of the room. Enabling encryption may prevent many bots and bridges from working correctly. Learn more about encryption.", "This upgrade will allow members of selected spaces access to this room without an invite.": "This upgrade will allow members of selected spaces access to this room without an invite.", "Are you sure you want to make this encrypted room public?": "Are you sure you want to make this encrypted room public?", - " It’s not recommended to make encrypted rooms public. It will mean anyone can find and join the room, so anyone can read messages. You’ll get none of the benefits of encryption. Encrypting messages in a public room will make receiving and sending messages slower.": " It’s not recommended to make encrypted rooms public. It will mean anyone can find and join the room, so anyone can read messages. You’ll get none of the benefits of encryption. Encrypting messages in a public room will make receiving and sending messages slower.", - "To avoid these issues, create a new public room for the conversation you plan to have.": "To avoid these issues, create a new public room for the conversation you plan to have.", + "It's not recommended to make encrypted rooms public. It will mean anyone can find and join the room, so anyone can read messages. You'll get none of the benefits of encryption. Encrypting messages in a public room will make receiving and sending messages slower.": "It's not recommended to make encrypted rooms public. It will mean anyone can find and join the room, so anyone can read messages. You'll get none of the benefits of encryption. Encrypting messages in a public room will make receiving and sending messages slower.", + "To avoid these issues, create a new public room for the conversation you plan to have.": "To avoid these issues, create a new public room for the conversation you plan to have.", "To link to this room, please add an address.": "To link to this room, please add an address.", "Private (invite only)": "Private (invite only)", "Only invited people can join.": "Only invited people can join.",