diff --git a/src/components/views/rooms/EventTile.js b/src/components/views/rooms/EventTile.js index e2e1bb4443..6a266b2f13 100644 --- a/src/components/views/rooms/EventTile.js +++ b/src/components/views/rooms/EventTile.js @@ -18,6 +18,7 @@ limitations under the License. var React = require('react'); var classNames = require("classnames"); +var Modal = require('../../../Modal'); var sdk = require('../../../index'); var MatrixClientPeg = require('../../../MatrixClientPeg') @@ -361,6 +362,66 @@ module.exports = React.createClass({ }); }, + onCryptoClicked: function(e) { + var ErrorDialog = sdk.getComponent("dialogs.ErrorDialog"); + var event = this.props.mxEvent; + + // XXX: gutwrench - is there any reason not to expose this on MatrixClient itself? + var device = MatrixClientPeg.get()._crypto.getDeviceByIdentityKey( + event.getSender(), + event.getWireContent().algorithm, + event.getWireContent().sender_key + ); + + Modal.createDialog(ErrorDialog, { + title: "End-to-end encryption information", + description: ( +
Sent by | +{ event.getSender() } | +
Sender device name | +{ device.getDisplayName() } | +
Sender device ID | +{ device.deviceId } | +
Sender device verification: | +{ MatrixClientPeg.get().isEventSenderVerified(event) ? "verified" : NOT verified } | +
Sender device ed25519 fingerprint | +{ device.getFingerprint() } | +
Sender device curve25519 identity key | +{ event.getWireContent().sender_key } | +
Algorithm | +{ event.getWireContent().algorithm } | +
Decryption error | +{ event.getContent().body } | +