Skip to content
This repository was archived by the owner on Sep 11, 2024. It is now read-only.

Commit 6dbb4e9

Browse files
committed
fix the warning shown to users about needing to export e2e keys
apparently when we added the buttons to export e2e keys to the Logout button, we didn't change the text warning the user that e2e export was coming soon. likewise when changing password and forgetting password (where we didn't even have a button to export keys)
1 parent 88c0434 commit 6dbb4e9

File tree

3 files changed

+46
-10
lines changed

3 files changed

+46
-10
lines changed

src/components/structures/UserSettings.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -264,10 +264,10 @@ module.exports = React.createClass({
264264
title: "Sign out?",
265265
description:
266266
<div>
267-
For security, logging out will delete any end-to-end encryption keys from this browser,
268-
making previous encrypted chat history unreadable if you log back in.
269-
In future this <a href="https://github.com/vector-im/riot-web/issues/2108">will be improved</a>,
270-
but for now be warned.
267+
For security, logging out will delete any end-to-end encryption keys from this browser.
268+
269+
If you want to be able to decrypt your conversation history from future Riot sessions,
270+
please export your room keys for safe-keeping.
271271
</div>,
272272
button: "Sign out",
273273
extraButtons: [

src/components/structures/login/ForgotPassword.js

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,11 +93,17 @@ module.exports = React.createClass({
9393
description:
9494
<div>
9595
Resetting password will currently reset any end-to-end encryption keys on all devices,
96-
making encrypted chat history unreadable.
97-
In future this <a href="https://github.com/vector-im/riot-web/issues/2671">may be improved</a>,
98-
but for now be warned.
96+
making encrypted chat history unreadable, unless you first export your room keys
97+
and re-import them afterwards.
98+
In future this <a href="https://github.com/vector-im/riot-web/issues/2671">will be improved</a>.
9999
</div>,
100100
button: "Continue",
101+
extraButtons: [
102+
<button className="mx_Dialog_primary"
103+
onClick={this._onExportE2eKeysClicked}>
104+
Export E2E room keys
105+
</button>
106+
],
101107
onFinished: (confirmed) => {
102108
if (confirmed) {
103109
this.submitPasswordReset(
@@ -110,6 +116,18 @@ module.exports = React.createClass({
110116
}
111117
},
112118

119+
_onExportE2eKeysClicked: function() {
120+
Modal.createDialogAsync(
121+
(cb) => {
122+
require.ensure(['../../../async-components/views/dialogs/ExportE2eKeysDialog'], () => {
123+
cb(require('../../../async-components/views/dialogs/ExportE2eKeysDialog'));
124+
}, "e2e-export");
125+
}, {
126+
matrixClient: MatrixClientPeg.get(),
127+
}
128+
);
129+
},
130+
113131
onInputChanged: function(stateKey, ev) {
114132
this.setState({
115133
[stateKey]: ev.target.value

src/components/views/settings/ChangePassword.js

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,17 @@ module.exports = React.createClass({
7373
description:
7474
<div>
7575
Changing password will currently reset any end-to-end encryption keys on all devices,
76-
making encrypted chat history unreadable.
77-
This will be <a href="https://github.com/vector-im/riot-web/issues/2671">improved shortly</a>,
78-
but for now be warned.
76+
making encrypted chat history unreadable, unless you first export your room keys
77+
and re-import them afterwards.
78+
In future this <a href="https://github.com/vector-im/riot-web/issues/2671">will be improved</a>.
7979
</div>,
8080
button: "Continue",
81+
extraButtons: [
82+
<button className="mx_Dialog_primary"
83+
onClick={this._onExportE2eKeysClicked}>
84+
Export E2E room keys
85+
</button>
86+
],
8187
onFinished: (confirmed) => {
8288
if (confirmed) {
8389
var authDict = {
@@ -105,6 +111,18 @@ module.exports = React.createClass({
105111
});
106112
},
107113

114+
_onExportE2eKeysClicked: function() {
115+
Modal.createDialogAsync(
116+
(cb) => {
117+
require.ensure(['../../../async-components/views/dialogs/ExportE2eKeysDialog'], () => {
118+
cb(require('../../../async-components/views/dialogs/ExportE2eKeysDialog'));
119+
}, "e2e-export");
120+
}, {
121+
matrixClient: MatrixClientPeg.get(),
122+
}
123+
);
124+
},
125+
108126
onClickChange: function() {
109127
var old_password = this.refs.old_input.value;
110128
var new_password = this.refs.new_input.value;

0 commit comments

Comments
 (0)