mirror of
https://github.com/vector-im/element-web.git
synced 2024-11-16 21:24:59 +08:00
pre-send megolm keys when possible when a user starts typing
This commit is contained in:
parent
d470f9649d
commit
3bb1422f93
@ -42,6 +42,8 @@ import {_t, _td} from '../../../languageHandler';
|
|||||||
import ContentMessages from '../../../ContentMessages';
|
import ContentMessages from '../../../ContentMessages';
|
||||||
import {Key} from "../../../Keyboard";
|
import {Key} from "../../../Keyboard";
|
||||||
import MatrixClientContext from "../../../contexts/MatrixClientContext";
|
import MatrixClientContext from "../../../contexts/MatrixClientContext";
|
||||||
|
import {MatrixClientPeg} from "../../../MatrixClientPeg";
|
||||||
|
import RateLimitedFunc from '../../../ratelimitedfunc';
|
||||||
|
|
||||||
function addReplyToMessageContent(content, repliedToEvent, permalinkCreator) {
|
function addReplyToMessageContent(content, repliedToEvent, permalinkCreator) {
|
||||||
const replyContent = ReplyThread.makeReplyMixIn(repliedToEvent);
|
const replyContent = ReplyThread.makeReplyMixIn(repliedToEvent);
|
||||||
@ -102,6 +104,12 @@ export default class SendMessageComposer extends React.Component {
|
|||||||
this.model = null;
|
this.model = null;
|
||||||
this._editorRef = null;
|
this._editorRef = null;
|
||||||
this.currentlyComposedEditorState = null;
|
this.currentlyComposedEditorState = null;
|
||||||
|
const cli = MatrixClientPeg.get();
|
||||||
|
if (cli.isCryptoEnabled() && cli.isRoomEncrypted(this.props.room.roomId)) {
|
||||||
|
this._prepareToEncrypt = new RateLimitedFunc(() => {
|
||||||
|
cli.prepareToEncrypt(this.props.room);
|
||||||
|
}, 60000);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_setEditorRef = ref => {
|
_setEditorRef = ref => {
|
||||||
@ -121,6 +129,8 @@ export default class SendMessageComposer extends React.Component {
|
|||||||
this.onVerticalArrow(event, true);
|
this.onVerticalArrow(event, true);
|
||||||
} else if (event.key === Key.ARROW_DOWN) {
|
} else if (event.key === Key.ARROW_DOWN) {
|
||||||
this.onVerticalArrow(event, false);
|
this.onVerticalArrow(event, false);
|
||||||
|
} else if (this._prepareToEncrypt) {
|
||||||
|
this._prepareToEncrypt();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user