From 30000999913f0aee27fed99c7328a04c3bb7db8e Mon Sep 17 00:00:00 2001 From: Michael Telatynski <7t3chguy@gmail.com> Date: Mon, 16 Jul 2018 21:27:52 +0100 Subject: [PATCH] add additional checks for hiding autocomplete to prevent `text` calculation Signed-off-by: Michael Telatynski <7t3chguy@gmail.com> --- src/components/views/rooms/MessageComposerInput.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/components/views/rooms/MessageComposerInput.js b/src/components/views/rooms/MessageComposerInput.js index 84ee58925d..38c544ce38 100644 --- a/src/components/views/rooms/MessageComposerInput.js +++ b/src/components/views/rooms/MessageComposerInput.js @@ -498,10 +498,12 @@ export default class MessageComposerInput extends React.Component { } } - // when selection changes hide the autocomplete. + // when in autocomplete mode and selection changes hide the autocomplete. // Selection changes when we enter text so use a heuristic to compare documents without doing it recursively - const documentChanged = this.state.editorState.document.text !== editorState.document.text; - if (!documentChanged && !rangeEquals(this.state.editorState.selection, editorState.selection)) { + if (this.autocomplete.state.completionList.length >= 0 && !this.autocomplete.state.hide && + this.state.editorState.document.text !== editorState.document.text && + !rangeEquals(this.state.editorState.selection, editorState.selection)) + { this.autocomplete.hide(); }